由于我不打算深入研究的原因,但归结为复杂的.props链,我有许多项目(所有C
使用C++
编译器编译), DLL
解决方案仍构建静态库,但定义_WINDLL
。这是可以修复的,但不容易。
这些项目都不会或将永远不会使用MFC - 或类似的东西 - 但一个项目 - 操作系统抽象层 - 确实包括Windows.h for socket,mutexes和线程。
由于这个原因,在编译过程中没有错误或警告,应用程序似乎运行正常,但它是一个古老的野兽,有数百个小功能,没有单元测试:)
我的问题是:需要修复这些静态库以不定义_WINDLL?
编辑:
虽然我认为我的答案是:
,但似乎还需要更多背景知识定义它的属性表是OUR属性表,它是一个相对复杂的系统的一部分,它允许我们用相对来构建Release / Debug / Lib / Dll Arm / WinCE / x86 / x64 Clang / MSVC他们很痛苦,但偶尔也有问题。属性表是分层的,我使用的项目和我不想触摸的项目都使用它。