见鬼了,我的VC出问题了,不允许有同名文件?

ahao 2009-07-09 08:58:34
项目里有2个同名文件,在不同目录下,里面是两个不相干的类,namespace和类名都不同,就是文件名相同。
然后总是link失败,说其中一个类的某函数找不到,比如:

无法解析的外部符号 "public: __thiscall T2::A2::A2(void)" (??0A2@T2@@QAE@XZ),该符号在函数 _wmain 中被引用

只要文件名不同就没事。我奇怪的是以前是可以的,难道是vc9的问题?我升级vc9不久。
以前文件名相同,生成的obj文件的名字会加个数字,现在不是,只能生成一个obj文件。

谁有vc9的能不能测试一下?

谢谢!
...全文
69 24 打赏 收藏 举报
写回复
24 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ad33k 2011-12-26
我也遇到过。 VC2005就没有这样的bug。以前在vc2005下可以有同名的源文件存在,编译时会自动增加.obj文件名的序号,不知道为何到了vc2008,这个功能就没有了
  • 打赏
  • 举报
回复
arong1234 2009-07-10
何必自找麻烦,不准同名就不同名吧
  • 打赏
  • 举报
回复
bragi523 2009-07-09
学习
  • 打赏
  • 举报
回复
ahao 2009-07-09
[Quote=引用 20 楼 marrco2005 的回复:]

哦,多谢了,原来还有这样的设置
[/Quote]

哈哈,哪里,我要谢谢你才对。
  • 打赏
  • 举报
回复
marrco2005 2009-07-09
[Quote=引用 19 楼 ahao 的回复:]
引用 17 楼 marrco2005 的回复:
不知道你的 vs2008 有没有这样的问题

当一个 solution 里有 多个 projects 时,选中所有的 project,然后编译。
vs2008 不是 一个一个 项目的编译,而是同时多个项目编译
然后, vs2008 就 崩溃了,当然,不是每次都崩溃,不过几率挺高的




这个我倒没遇到过,我一般同时编译2个,ide里可以设置允许同时编译的项目数。
[/Quote]

哦,多谢了,原来还有这样的设置
  • 打赏
  • 举报
回复
ahao 2009-07-09
[Quote=引用 17 楼 marrco2005 的回复:]
不知道你的 vs2008 有没有这样的问题

当一个 solution 里有 多个 projects 时,选中所有的 project,然后编译。
vs2008 不是 一个一个 项目的编译,而是同时多个项目编译
然后, vs2008 就 崩溃了,当然,不是每次都崩溃,不过几率挺高的

[/Quote]

这个我倒没遇到过,我一般同时编译2个,ide里可以设置允许同时编译的项目数。
  • 打赏
  • 举报
回复
ahao 2009-07-09
[Quote=引用 15 楼 marrco2005 的回复:]
选择一个同名的文件,选 properties--> c++ --> Output Files --> Object File Names 该成其他名字, 比如$(IntDir)\other\aaa ,就能编译过了

汗一个,没想到 vs2008 还有这样的问题
[/Quote]

汗,好办法!
  • 打赏
  • 举报
回复
marrco2005 2009-07-09
不知道你的 vs2008 有没有这样的问题

当一个 solution 里有 多个 projects 时,选中所有的 project,然后编译。
vs2008 不是 一个一个 项目的编译,而是同时多个项目编译
然后, vs2008 就 崩溃了,当然,不是每次都崩溃,不过几率挺高的
  • 打赏
  • 举报
回复
dfen2008 2009-07-09
真是BUG,改一下名就好了
  • 打赏
  • 举报
回复
marrco2005 2009-07-09
选择一个同名的文件,选 properties--> c++ --> Output Files --> Object File Names 该成其他名字, 比如$(IntDir)\other\aaa ,就能编译过了

汗一个,没想到 vs2008 还有这样的问题
  • 打赏
  • 举报
回复
ahao 2009-07-09
怎么解决啊?
  • 打赏
  • 举报
回复
marrco2005 2009-07-09
找到解决的办法
  • 打赏
  • 举报
回复
ahao 2009-07-09
哦??居然真的是bug?
  • 打赏
  • 举报
回复
marrco2005 2009-07-09
哈哈,楼主你不是孤独的
我的 vs2008 也出同样的问题了
  • 打赏
  • 举报
回复
ahao 2009-07-09
其实也不是不相干,做的是类似的事情,比如都叫Manage.cpp,是两个不同namespace下的。
  • 打赏
  • 举报
回复
Conry 2009-07-09
刚试过2003没有问题,俺的破电脑没法用2008

不过同一个工程用同名的文件是不好的

既然不相干为什么还是同名
  • 打赏
  • 举报
回复
雪影 2009-07-09
没用过,mark~
  • 打赏
  • 举报
回复
快乐鹦鹉 2009-07-09
你单位有没有其它人装VC9,试之。
我们现在都只用VC6
  • 打赏
  • 举报
回复
ahao 2009-07-09
对,2008

我也觉得不会有这么弱智的bug,就是很奇怪,想确认一下是不是我机器的问题,太诡异了。

我重启了机器,然后创建一个新的项目,然后加入不同目录下的两个同名文件,里面是两个不同namespace不同类名的类,都只有一个构造函数。然后错误依旧。
  • 打赏
  • 举报
回复
快乐鹦鹉 2009-07-09
vc9就是2008么?
  • 打赏
  • 举报
回复
加载更多回复
相关推荐
发帖
VC/MFC
加入

1.6w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2009-07-09 08:58
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……