请问一下如何建一个自己的库
例如我有这样的两个文件
- 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,复制到你新工程的文件夹里面
[解决办法]
原因在于你的笔误,把selectionSort写成了selctionSort,都改过来就好了:
- C/C++ code
//void selctionSort(int[], int);void selectionSort(int[], int);