【问题标题】:error LNK2001 when compiling in Release mode in VS2012在 VS2012 中以 Release 模式编译时出现错误 LNK2001
【发布时间】:2013-12-12 21:17:14
【问题描述】:

我的 windows phone 8 应用程序在 Debug 模式下编译良好,但是当我切换到 Release 模式时,我遇到了一些链接错误。未解析的外部符号用于我自己定义的函数,而不是来自外部库。 我有一个用于函数声明的 .h 文件,以及一个用于其实现的 .c 文件。调用这些函数的模块也是一个 .c 文件。两个源文件都被显式编译为 C 代码(我的项目中也有 C++ 代码)。 VS2012可以在函数调用上右击,点击“Go To Definition”定位函数定义。我确保没有任何声明/定义包含在#ifdef NDEBUG 中。什么可能导致此链接问题?

【问题讨论】:

    标签: c++ c visual-studio-2012 linker


    【解决方案1】:

    在您的项目属性中比较调试和发布模式之间的设置。你可以从 build.xml 中排除一些你的实现文件。如果您在解决方案中有多个项目,那么您可能会忘记在发布模式下设置它们之间的正确依赖关系。

    【讨论】:

    • 看起来我继承此项目的人更改了项目的默认对象文件名。感谢您的提示!
    猜你喜欢
    • 2013-07-11
    • 1970-01-01
    • 2014-06-17
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多