VC++ 工程中含有同名源代码文件导致的坑

栏目: C++ · 发布时间: 8年前

内容简介:VC++ 工程中含有同名源代码文件导致的坑

工作中遇到一个 VC++ 的一个深坑,在这里记录一下。

如果一个 VC++ 工程中含有两个出于不同目录的同名的源代码文件,那么默认情况下它们生成的中间文件(obj)会发生冲突。由于默认 VC++ 按照文件名输出 obj 文件,同名的源代码文件产生的 obj 文件名称也是完全一样的,同时由于 VC++ 默认所有的 obj 文件输出路径都是同一个,就导致同名的 obj 文件之间发生覆盖,造成符号丢失。更加坑的是,这种错误在编译期间是发现不了的,需要到链接期间才会报符号找不到的错误。

最简单的解决办法自然是改名了,把其中一个的名称改掉就不会有问题。另一种办法是更改 obj 文件的输出路径,在其中加入相对路径,这样 obj 文件会按照和源代码路径一样的相对路径输出。

参考: https://stackoverflow.com/q/3729515/3562486


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Programming From The Ground Up

Programming From The Ground Up

Jonathan Bartlett / Bartlett Publishing / 2004-07-31 / USD 34.95

Programming from the Ground Up is an introduction to programming using assembly language on the Linux platform for x86 machines. It is a great book for novices who are just learning to program as wel......一起来看看 《Programming From The Ground Up》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器