当前位置: 首页 > 知识库问答 >
问题:

具有多个同名源文件的VisualStudio项目?

危斯伯
2023-03-14

我有一个大的C++项目,源文件组织在多个文件夹(在文件系统上)。

\MyProject\foo\Blurp.cpp
\MyProject\foo\File.cpp
\MyProject\bar\File.cpp
\MyProject\bar\Knoll.cpp

现在的问题是,当我构建项目时,MSVC将对象文件放在一个单一的平面目录中,结果是:

\MyProject\Release\Blurp.obj
\MyProject\Release\File.obj
\MyProject\Release\Knoll.obj

可以看到,只有一个文件.obj,因此缺少一个二进制对象。显然,链接器会抱怨,因为它找不到类/函数/...在丢失的对象文件中定义。

是否有一种方法告诉MSVC创建具有唯一名称的对象文件,这取决于这些文件所在的目录(或过滤器)?

\MyProject\Release\foo\Blurp.obj
\MyProject\Release\foo\File.obj
\MyProject\Release\bar\File.obj
\MyProject\Release\bar\Knoll.obj
\MyProject\Release\foo-Blurp.obj
...

共有1个答案

贺桐
2023-03-14

也许您可以将项目范围内的“对象文件名”(配置属性->C/C++->输出文件)设置为

$(IntDir)%(RelativeDir)

它使用源文件的相对源文件夹。请注意%,但是如果源文件位于项目目录之外,包含..\时,这会变得很难看

 类似资料:
  • 所以我的问题是,当我用profile只运行applicaiton时,Spring是否合并了这两个profile,并且我可以在应用程序中看到和?

  • 问题内容: 如果类路径中有两个JAR文件,两个文件的根中都包含一个名为“ config.properties”的资源。有没有办法检索类似于的 两个 文件?顺序不相关。 一种替代方法是,如果可能的话,在类路径中加载与某些条件匹配的每个属性文件。 问题答案: 您需要 (或静态版本)。 但是不幸的是,资源不在“目录”中存在一个已知问题。例如,可以,但是可能是一个问题。在Spring Reference中

  • 问题内容: 我的MySQL数据库中有这些表: 通用表: Facebook表: 首席表: 基本上,常规表包含一些( 显然 )常规数据。基于generalTable.scenario,您可以在其他两个表中查找更多详细信息,这些表在某些熟悉的列中(例如,expiresAt),而在其他一些列中则不然。 我的问题是,如何仅通过一个查询就可以获取generalTable和正确的明细表的联接数据。 所以,我想这

  • 问题内容: 我有一个这样的架构层次结构: 一个文件夹中的所有文件都具有相同的命名空间。 现在,我想将名称空间映射到特定的Java包(我不能更改名称空间)。 我找到了将架构绑定到程序包的解决方案。但是然后我必须为每个xsd文件创建一个条目: 有没有一种方法可以直接定义名称空间和程序包名称之间的绑定? 另一种方法是在maven中定义包: 但是然后我必须为每个文件夹创建一个执行,这并不是我真正想要的。

  • 问题内容: 是否可以从多个源文件中构建一个内核模块,这些源文件中的一个与模块具有相同的名称? 例如:我要使用以下源文件构建“ mymodule.ko”: mymodule.c mymodule_func.c 这个makefile不起作用: 谢谢 问题答案: 我找到了解决方案,将源文件放在一个子文件夹中: 生成文件 src / mymodule.c src / mymodule_func.c