我刚刚被Visual Studio 2010(C ++)发出的一些不重要的警告打了头(或几乎没有)。
编译结果如下:
1 Debug \ is.obj:警告LNK4042:对象指定了多次;忽略了其他功能
1 Debug \ make.obj:警告LNK4042:对象指定了多次;忽略了其他功能
1 Debug \ view.obj:警告LNK4042:指定的对象不止一次;额外功能被忽略
1 identity.obj:错误LNK2019:void __cdecl test::identity::view(void)
函数void __cdecl test::identity::identity(void)
(?identity @ 0test @@ YAXXZ)中引用的未解析外部符号(?view @ identity @ test @@ YAXXZ)
1 identity.obj:错误LNK2019:未解析的外部符号void __cdecl test::identity::make(void)
(?make函数void __cdecl test::identity::identity(void)
(?identity @ 0test @@ YAXXZ)中引用的@ identity @ test @@ YAXXZ)
1 range.obj:错误LNK2019:void __cdecl test::range::is(void)
函数void __cdecl test::range::range(void)
(?range @ 0test )中引用的未解析的外部符号(?is @ range @ test @@ YAXXZ)@@ YAXXZ)
链接器错误总是很难调试的...但是有未解决的引用,因此我检查了...但是源代码格式正确...最后让我震惊了:
我的文件夹层次结构如下所示:
src/
identity/
is.cpp
make.cpp
view.cpp
range/
is.cpp
make.cpp
view.cpp
解决方案中的层次结构也是如此(我总是对其进行设置,以使其模仿“真实的”文件夹结构)。
和诊断输出:
Debug\is.obj
Debug\make.obj
Debug\view.obj
以及一条警告消息,指出该消息.obj
已两次传递给链接器,并且将被忽略。
无需再搜索:Visual已使我的文件夹层次结构整齐地变平,因此无法整齐地编译源代码。
目前,我只是想重命名文件,应该可以解决这个问题。
...但是有没有办法让Visual Studio不展平文件层次结构?