【发布时间】:2018-08-21 02:05:16
【问题描述】:
我安装并构建并编译了 FLTK 库以供 GUI 使用,因此我可以跟随 Bjarnes 书,
我按照这个教程https://www.youtube.com/watch?v=0eSOPWQ1n6U
无论如何,我将 GL 和 FL 中的包含文件放在 2017/VC/tools/14.12.25827/include 文件夹中,而 lib 文件需要在 2017/VC/tools/14.12.25827/ 中库/x86/ 和 2017/VC/tools/14.12.25827/lib/x64 虽然我只会在开发 32 位项目时使用它
然后我将一个新的 cpp 文件添加到一个空的 windows 项目中,
我将 fltk.lib 添加到项目构建设置中链接器的附加依赖项中
这里是依赖 kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib ;odbccp32.lib;%(fltk.lib)
然后我按照指示将c++选项卡和运行时库下的代码生成设置为多线程DLL(/MD)
但我收到一个奇怪的错误
严重性代码描述项目文件行抑制状态
错误 C2146 语法错误:缺少 ';'在标识符“hi”之前 Project5 c:\users\user\source\repos\project5\project5\hey.cpp 9
严重性代码 描述 项目文件行抑制状态
错误(活动)E0065 预期为“;” Project5 c:\Users\User\source\repos\Project5\Project5\hey.cpp 9
严重性代码 描述 项目文件行抑制状态
错误 C3861 'hi': 找不到标识符 Project5 c:\users\user\source\repos\project5\project5\hey.cpp 9
#include <FL/Fl.h>
#include <FL/Fl_Window.h>
int main(){
FL_WINDOW hi(20, 20, "hey");
return 0;
}
**更新
我试过了
#include <FL/Fl.h>
#include <FL/Fl_Window.h>
int main() {
Fl_Window wd(12, 12, "hey");
return 0;
}
我使用了类名而不是宏,但现在又遇到了两个错误
严重性代码描述项目文件行抑制状态 函数 _main Project8 C:\Users\User\source\repos 中引用的错误 LNK2019 未解析的外部符号“public: __thiscall Fl_Window::Fl_Window(int,int,char const *)”(??0Fl_Window@@QAE@HHPBD@Z) \Project8\Project8\Source.obj 1
严重性代码描述项目文件行抑制状态 函数 _main Project8 C:\Users\User\source\repos\Project8\Project8\Source 中引用的错误 LNK2019 未解析的外部符号“public: virtual __thiscall Fl_Window::~Fl_Window(void)”(??1Fl_Window@@UAE@XZ) .obj 1
【问题讨论】:
-
我尝试了以下 int main() { Fl_Window *window = new FL_Window(20, 20, "wont work");返回0; } 但似乎仍然给我一个错误,说它需要一个类型说明符
-
很抱歉,它应该是
Fl_Window而不是FL_WINDOW,因为c++区分大小写。 fltk.org/doc-1.3/basics.html -
%(fltk.lib)不正确。 -
另外,从输出选项卡复制错误比从错误选项卡复制错误更好,因为错误的文本格式更好。
-
您的环境中的 %fltk.lib% 设置为什么?
标签: c++ user-interface fltk