VS 2013 的编译器没有看到 FLTK 库,但 VS 的 IntelliSense 对 Garland 的 QSlim 项目有

Posted

技术标签:

【中文标题】VS 2013 的编译器没有看到 FLTK 库,但 VS 的 IntelliSense 对 Garland 的 QSlim 项目有【英文标题】:VS 2013's Compiler doesn't see FLTK library but VS's IntelliSense does for project Garland's QSlim 【发布时间】:2014-08-08 09:33:18 【问题描述】:

一切都在标题中: 在 VS 2013 中,我包含了 FLTK 库,在 Include Directories 中添加了“C:\fltk-1.3.2”,在 Library Directory 中添加了“C:\fltk-1.3.2\lib” strong> 当我包含

#include <FL/Fl.H>

在我的代码中,IntelliSense 识别 FL 的文件,但 VS 的编译器不识别:

你知道如何解决这个问题吗?

谢谢

编辑: 这是 fltk-1.3.2 文件夹:

编辑2: 我的代码是包含在具有多个项目的解决方案中的项目脚本。 这是项目:http://mgarland.org/dist/qslim-2.1.tar.gz FL 有问题的是解决方案中的 libgfx 项目(在项目的 win32 文件夹中)。

【问题讨论】:

但是C:\fltk-1.3.2 真的是包含文件夹吗?是不是更像C:\fltk-1.3.2\includeFl.h 相对于该文件夹位于何处? 看看我的编辑。 Fl.h 在 C:\fltk-1.3.2\FL. 如果你把一个绝对路径放进去,它会起作用吗?我不建议这是一个修复,但#include "C:\fltk-1.3.2\FL\Fl.H",你也可以发布你的项目设置的全部内容'附加包含目录' 在 'Configuration Properties>C/C++>General' 下,您是否使用分号分隔文件夹 ; 是的,我已使用“;”分隔文件夹。 打开 C++/Advanced/Show 包含时会发生什么?只需尝试构建一个文件。它在哪里寻找包含? 【参考方案1】:

查看解决方案的配置属性,C/C++ > 命令行选项卡是否显示/I "C:\fltk-1.3.2"

也许尝试更改为:

#include <FL\FL.h>

Intellisense 正在接受它似乎很奇怪。

查看C1083 error 的一些其他原因。

【讨论】:

我添加了 /I "C:\fltk-1.3.2" 并测试更改 #include 但存在同样的问题。看看我的问题 Edit2。【参考方案2】:

我解决了这个问题。 实际上,由于我的程序解决方案中有几个项目,它是另一个项目(项目 QVis),它调用了包含的文件(项目 libgfx 中的 gui.h)代码:

#include <FL/Fl.H> ...

具有外部依赖关系。

所以我也必须为另一个项目包含库。

【讨论】:

以上是关于VS 2013 的编译器没有看到 FLTK 库,但 VS 的 IntelliSense 对 Garland 的 QSlim 项目有的主要内容,如果未能解决你的问题,请参考以下文章

Windows下使用VS2017搭建FLTK开发环境

如何将 FLTK 库添加到 netbeans 项目中

fltk 1.3 库中的 graph.h 在哪里?

如何从 MS VS 中的大量 .c 和 .h 文件编译静态库

VS2013编译链接tcl/tk 8.6.4为共享库

求问vs2013怎么添加静态库,试了两种方法都有问题