【发布时间】:2015-09-16 09:47:50
【问题描述】:
早上好,
我刚刚从一位离职的同事那里继承了一个应用程序,我已经遇到了麻烦:我们做的最后一件事是将解决方案从 Visual Studio 2010 移植到 2013。
现在,在构建解决方案中的一个项目时,我收到以下错误消息:1>usharedmemory.obj : error LNK2019: unresolved external symbol "public: __cdecl C_NamedSemaphore::C_NamedSemaphore(char const *,unsigned int)" (??0C_NamedSemaphore@@QEAA@PEBDI@Z) referenced in function "public: __cdecl C_RecursiveNamedSemaphore::C_RecursiveNamedSemaphore(char const *,unsigned int)" (??0C_RecursiveNamedSemaphore@@QEAA@PEBDI@Z)
这个错误似乎是由文件“Y:\Ucam5\ucm\x\rip_mlfdpf\ussharedmemory.obj”(在项目目录中)引起的,但快速查看后,似乎这个*.obj文件甚至没有存在。
因此下一个问题是:我可以做些什么来确保 *.obj 文件被创建?我已经验证了“ussharedmemory.cpp”文件存在于主项目的目录中(对应的*.h文件位于“外部依赖”一章,这让我相信*.obj文件将是在主项目的构建过程中创建。
你看我的问题:我的项目引用了项目需要创建的文件,但是由于项目没有创建文件,他显然不能引用它,你看我运行的圈子:-)
(仅供参考,我不知道如何生成“*.obj”文件)
谁能帮帮我?
谢谢
【问题讨论】:
-
可能是项目依赖排序错误。正在寻找
.obj文件的项目正在构建之前 将生成.obj文件的项目。因此,错误。
标签: c++ visual-studio visual-studio-2010 visual-studio-2013 lnk2019