[英]How to include header files of another projects in the same solution?
我在同一个解决方案中有两个C ++项目(proj1和proj2)。 如何将proj1中的头文件包含到proj2中? 我通过设置Additional Include Directories将这些头文件包含在proj2中,但无法链接这些函数 - 错误:未解析的外部 。
你不需要从porj2的引用,添加proj1,然后编译器将在编译proj2时链接proj1。
所以你的问题不是实际包含头文件,而是链接到另一个项目的目标文件。
这个问题基本上有两种解决方案:
只需将源文件从其他项目拉入需要它们的项目中。 这将导致您为每个项目构建两次源文件。 请注意,我并不是说您应该将文件物理复制到磁盘上,只需将源文件拖放到解决方案侧栏中即可。
将公共代码放在第三个项目中,作为库。 然后你的两个项目都使用这个库,并与它链接 。
我强烈推荐第二种解决方案。
当您收到链接错误时,表示您已成功编译代码,这意味着您已正确包含标题。 恭喜! 但是,您正面临unresolved externals
错误。 这是因为您只是告诉编译器在哪里找到.h
文件,但实际代码呢? 是的.cpp
中的那个?
选项:
.h
文件中,这可能是一个快速的解决方案,但不是一个好主意(除非您需要模板化代码的可移植解决方案)。 static library
并与输出.lib
文件链接(您可以通过快速谷歌搜索找到如何执行此操作) .h
和.cpp
)带到另一个项目并在项目中构建它们(这里发生了巨大的冗余)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.