解决VS在编译的时候无法打开...obj文件的问题 您所在的位置:网站首页 mfc报错无法打开文件 解决VS在编译的时候无法打开...obj文件的问题

解决VS在编译的时候无法打开...obj文件的问题

2024-07-12 02:34| 来源: 网络整理| 查看: 265

前段时间在链接自己编写好的动态库的时候,按照原先的方法,却遭遇失败的问题,提示少了什么什么.obj文件。在网上找了很多方法,试了很多,但是却都失败,感觉很不靠谱。最后在破釜沉舟的情况下,终于解决了,下面分享我解决的方法,希望可以帮到后来人。

要看一下Link命令行就知道了. 项目->属性->链接器->输入->附加依赖项. 在这里你会发现你前面设置的"附加依赖项"被IDE改写了. 例如你要加入一个ABC.lib的链接库,完整路径为"C:\Program Files\ABC.lib", 如果被IDE改写的话会变成"C:\Program" 

"Files\ABC.lib" 相应的命令行变成Link (...) "C:\Program"

 "Files\ABC.lib" 那么链接器会要求提供"C:\Program.obj"文件,由于该文件不存在,所以会返回上面的调试信息'LINK : fatal error LNK1104: 无法打开文件“C:\Program.obj”'!

这就是原因的所在:在文件夹命名的时候,文件夹名存在空格,导致编辑器将这个文件夹当做两个目录来解释了(“编译器很笨的,很多的时候,你的想法,他都不会知道的”)

解决的方法,其实也很简单。就是讲整个路径加上“”。

例如:

比如你这样设置C:\Program Files\XXX\lib\XXX.lib,表示你在项目中连接到这个XXX.lib,但是,在Program与File之间有一个空格,所以就解析成了C:\Program, 再所以,就出现了:C:\Program.obj无法打开,所以你设置的时候写成这样"C:\Program Files\XXX\lib\XXX.lib", 用"" 引号,将整个路径括起来就行了。这样编译器就不会存在二义性来解释你原先想设置的命令。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有