是否可以让 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++ 项目从另一个文件导入源文件名?的主要内容,如果未能解决你的问题,请参考以下文章

visual c++ 2008中如何运行一个 .cpp文件

VS2008(C++)-控制台项目中LNK2005错误的问题

从 Visual Studio C++ 6.0 到 VS 2008?

VS2008 中的 C++ 项目有效,但在 VS2010 中无效

VS 2008 C++如何制作一个没有.net依赖的项目

Visual Studio 2008 Profiler - C++ 库问题