转自:http://bbs.csdn.net/topics/390389359VS20
项目1 需要引用 项目2 的东西:
1、在解决方案资源管理器中右键 项目1,在弹出的下拉列表中选择“项目依赖项”,在“依赖于”列表中选中 项目2
2、在需要引用的cpp文件中添加 #include "../项目1(文件夹名)/xxx.h"
PS: 项目1和项目2的文件夹最好放在同一级的目录下,依你的具体情况 使用 “../” 来确定项目2的文件路径
如果2个工程都需要这个头文件和源文件,那么把他们做成lib
#include "XX,h",则会出现“error LNK2019: 无法解析的外部符号”
如果是#include "XX.cpp",则可以顺利编译通过。
想来是因为引用 .h 文件导致找不到.cpp中的定义,而引用.cpp可以通过.cpp找到.h(.cpp有对.h的include)
但是如果同在工程B下面,则#include "XX,h"也是正确的,它会自动关联到同名的(反正是对应的).cpp文件。
在不同工程中应该如何引用呢?
看见一种原因分析,如下:
现场情况:
funcname 在文件file.cpp/h中定义实现
void funcname(void) {;}
filecall.c文件内呼叫funcname()函数。
出现上面情况。
症因:因c/c++混合编程, c文件内函数无法呼叫c++文件内函数。
解决,或者将c文件名改为.cpp,或者将c++文件名改为.c
上面的解决采用将 file.cpp 更名为file.c即可。