是否可以让 vs2008 c++ 项目从另一个文件导入源文件名?
Posted
技术标签:
【中文标题】是否可以让 vs2008 c++ 项目从另一个文件导入源文件名?【英文标题】:Is it possible to make a vs2008 c++ project import source file names from another file? 【发布时间】:2008-10-31 22:00:00 【问题描述】:我的情况是,另一个开发人员将我维护的项目的源文件包含在他维护的项目中。文件的性质是每个源文件在解释环境中注册一个“命令”,因此您所要做的就是链接一个新的源文件以注册一个新的“命令”。我们不能将这些文件放在静态库中,因为除非项目明确引用文件中的符号,否则链接器会将文件优化掉。
似乎一个潜在的解决方案是在两个项目外部都有一个文件,该文件“包含”两个项目中的源文件名列表。问题是我不知道是否或如何做到这一点。有什么建议吗?
【问题讨论】:
【参考方案1】:源文件没有理由不能在多个项目中。只需将其添加为 VS 中的“现有项目”即可。
如果您使用的是预编译的头文件,那么这两个项目都需要等效的设置才能正常工作。
您还可以在库中使用#pragma 来强制包含一个符号,否则链接器会丢弃它。
#pragma comment(linker, "/include:__mySymbol")
请参阅 MSDN 文档以了解 #pragma comment 和 include 选项
【讨论】:
【参考方案2】:你能简单地编写一个只包含#include
指令的源文件吗?不过,我不确定 VS 是否会检查依赖文件是否已更改(如果它们不在项目中)。
【讨论】:
我曾考虑过这一点,但如果包含在同一个“编译单元”中,有些静态符号(匿名命名空间)可能会发生冲突。以上是关于是否可以让 vs2008 c++ 项目从另一个文件导入源文件名?的主要内容,如果未能解决你的问题,请参考以下文章
VS2008(C++)-控制台项目中LNK2005错误的问题
从 Visual Studio C++ 6.0 到 VS 2008?