首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Visual 2012找不到shlwapi.lib

Visual 2012找不到shlwapi.lib
EN

Stack Overflow用户
提问于 2014-07-29 10:43:31
回答 1查看 3.7K关注 0票数 0

我最近将我的项目从VS2010迁移到了VS2012 (2010年编译所需的框架会崩溃,2012年会做得很好),但是现在它找不到shlwapi.lib了。

我加了

代码语言:javascript
运行
复制
$(WindowsSDK_IncludePath);
$(WindowsSDK_LibraryPath_x86); 

在目录设置中,还需要添加其他内容吗?

编辑:完整的输出来自构建。

代码语言:javascript
运行
复制
2>------ Build started: Project: MachineLearning, Configuration: Debug Win32 ------
2>  MachLearning.cpp
1>LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
1>LINK : fatal error LNK1181: cannot open input file 'Shlwapi.lib'
2>d:\development\glukosescanner\machinelearning\source\machlearning.cpp(65): warning C4244: 'initializing' : conversion from 'double' to 'int', possible loss of data
2>d:\development\glukosescanner\machinelearning\source\machlearning.cpp(79): warning C4244: 'initializing' : conversion from 'double' to 'int', possible loss of data
2>  libfftw-3.3-x86.lib(execute.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
2>LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
2>MachLearning.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:LBR' specification
2>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
2>  Generating code
2>  Finished generating code
2>  MachineLearning.vcxproj -> D:\Development\GlukoseScanner\GlucoseControl\Debug\MachineLearning.exe
========== Build: 1 succeeded, 1 failed, 6 up-to-date, 0 skipped ==========
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-29 19:58:56

项目升级可能出错,但无论如何,您的项目设置似乎不正确。默认情况下,WindowsSDK_LibraryPath_x86等应该已经存在了,并且像defaultlib 'MSVCRT' conflicts with use of other libs这样的消息也表明您正在跨项目混合不同的编译器/链接器选项。

无论如何,首先要确保您有shlwapi.lib:确认磁盘上有这个目录,其中有shlwapi.lib,只需检查VS安装就可以了。

然后创建一个空白的新C++项目文件并将当前源文件添加到其中,添加所需的包含目录/库或预处理器选项。但仅此而已。那就建吧。这最终应该可以解决,然后你可以比较你的新项目和旧的项目,看看什么是错误的。或者,使用新项目..。

还要确保所有项目(如fftw等,casue似乎也有不同的设置)都是使用相同的设置构建的。实现这一目标的最简单方法是使用所有项目共享的所有编译器/链接器选项的单一属性表。我强烈建议查找它是如何工作的(它很简单),并始终使用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25013427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档