我有2个DLL: DLL_A & DLL_B, 按顺序compile
当compile DLL_B 的时候,发现 DLL_B 不能Link, 是由于找不到 DLL_A里面的一个 function。
但实际上DLL_B 根本就不需要用DLL_A里的这个function。
是怎么回事呢??
error LNK2001: unresolved external symbol "public: 。。。
fatal error LNK1120: 1 unresolved externals
Hi 鬼, 欢迎来MSDN论坛提问。
根据我的了解,这个问题很可能是由以下情况导致。 1.在你的程序中有些函数你只做了声明,没有定义!链接阶段,编译器找不到函数定义,所以报错 一个函数声明如下: void foobar(); 一个函数的定义如下: void foobar() { // c++ code here } 2.你的.CPP文件和.H文件没有进行编译。你直接在source files文件夹和header files文件夹里把对应的那两个文件加进去进行全部重建就可以了。在菜单栏-工程-添加到工程-文件 然后找到.CPP文件和.H文件添加。
下面一些链接是讲这方面问题的。 http://iask.sina.com.cn/b/12661950.html http://apps.hi.baidu.com/share/detail/17371227
如果你的问题仍存在,请你提供你的代码和更详细的信息。以便我们给予你更好更快的答案。 如果你解决了问题,请把有用的回答标志为答案。
谢谢! Lucy
你确定DLL_B中没有引用这个函数么
不是需不需要的问题
你可以搜索一下看看是不是在哪不经意写了这个函数