2008-10-31 36 views
-2

我有一种情况,其他开发人员在我维护的项目中包含来自项目的源文件。这些文件的性质使得每个源文件在解释环境中注册一个“命令”,所以你所要做的就是链接一个新的源文件来注册一个新的“命令”。我们不能将这些文件放在静态库中,因为除非项目明确引用文件中的符号,否则链接器将优化文件。是否有可能从另一个文件中创建vs2008 C++项目导入源文件名?

看起来像一个可能的解决方案是在两个项目中都有一个文件外部的“包含”两个项目中的源文件名列表。问题是我不知道是否或如何做到这一点。建议,任何人?

回答

1

没有理由源文件不能在多个项目中。只需将其添加为VS中的“现有项目”即可。

如果您使用的是预编译头文件,那么两个项目都需要相应的设置才能使其工作。

您还可以在链接器放弃链接器时使用lib中的#pragma强制包含符号。

#pragma comment(linker, "/include:__mySymbol") 

#pragma comment的MSDN文档和include选项

0

你可以简单地写一个只包含#include指令的源文件吗?不过,我不确定如果VS检查依赖文件是否已经更改,如果它们不在项目中。

+0

我曾经考虑过这一点,但也有如果包括在相同的“编译单元”,可以发生碰撞的静态符号(匿名的命名空间)。 – 2008-10-31 23:08:47

相关问题