我的 Win7 开发机器上安装了 VS2005、VS2008 和 VS2010。我有一个使用 3rd 方 DLL 的特定项目,当 EXE 项目由 VS2010 构建时(在针对 v100 或 v90 工具集时),它在 LoadLibrary() 调用期间出现异常。当直接由 VS2005 或 VS2008 构建时,它可以完美运行.
根据李绍(微软)2009年的博客文章:
http://blogs.msdn.com/b/vcblog/archive/2009/12/08/c-native-multi-targeting.aspx
我应该能够打开 VS2010 项目并将平台工具集从 v100 更改为 v90,然后 VS2010 将实际使用 VS2008 编译器、头文件和库来构建程序。如果是,那么它就不是“正确”的,因为当以这种方式构建项目时,DLL 将不会加载。我尝试查看构建日志以验证使用了哪个编译器,但我的日志中没有路径或版本号,所以这是失败的。
这是一个直接写入 Win32Apis 的纯 C(不是 C++,不是 MFC,不是 .NET)项目。有什么办法可以让这个工作,还是我只是为单个项目使用不同的编译器(在整个系统的 100 多个项目中)?
帮助!