首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请教一上怎么建一个自己的库

2012-10-10 
请问一下如何建一个自己的库例如我有这样的两个文件C/C++ code//mylib.h#ifndef _MYLIB_H#define _MYLIB_H

请问一下如何建一个自己的库
例如我有这样的两个文件

C/C++ code
  //mylib.h  #ifndef _MYLIB_H  #define _MYLIB_H  void swap(int &, int &);  void selctionSort(int[], int);  #endif


C/C++ code
  //mylib.cpp  void swap(int &a, int &b){    int temp = a;    a = b;    b = temp; } void selectionSort(int array[], int size){    int tempPos=0;    for(int i=0; i<size; i++){        tempPos = i;        for(int j=i+1; j<size; j++){            if(array[j] < array[tempPos])                tempPos = j;        }        swap(array[tempPos], array[i]);    } }


在vs2010 中有如下代码
C/C++ code
#include "stdafx.h"#include <iostream>#include "D:\MYLIB\mylib.h"int _tmain(int argc, _TCHAR* argv[]){    int a[] = {0,2,5,1,5,6};    selctionSort(a, 6);    for(int i = 0; i < 6; i++){       std::cout << a[i] << " ";    }    return 0;}


会有如下错误error LNK2001: 无法解析的外部符号 "void __cdecl selctionSort(int * const,int)" (?selctionSort@@YAXQAHH@Z)

[解决办法]
#include "D:\MYLIB\mylib.h"
#pragma comment(lib, "mylib.lib")
[解决办法]
扩展阅读:#pragma使用方法
[解决办法]
#pragma comment(lib, "mylib.lib") "mylib.lib"要加上路径,比如
#pragma comment(lib, "D:\MYLIB\debug\mylib.lib"),或者你把那个生成的mylib.lib,复制到你新工程的文件夹里面
探讨

引用:

#include "D:\MYLIB\mylib.h"
#pragma comment(lib, "mylib.lib")


你好 加上后#pragma comment(lib, "mylib.lib") 出现错误提示
fatal error LNK1104: 无法打开文件“mylib.lib”

[解决办法]
原因在于你的笔误,把selectionSort写成了selctionSort,都改过来就好了:
C/C++ code
//void selctionSort(int[], int);void selectionSort(int[], int); 

热点排行