我在Windows 7 32位中的机器和我的C++编译器是Visual 2012,所以我首先从这里下载了FLTK (http://www.stroustrup.com/Programming/FLTK/),然后按照我想要的方式完成了以下工作:
解压缩下载的文件,打开主文件夹,fltk-l.l.?在VisualC++文件夹(例如,vc2005或vcnet)中,打开fltk.dsw。如果被问及更新旧项目文件的情况,请选择“全部更新”。
PS:我的编译器是vc2012而不是vc2005,在vc2005或vcnet文件夹中没有任何名为fltk.dsw的文件,所以我从vcnet中选择了fltk.sln并将其安装。安装时有一些失败,但它终于完成了!
在这个步骤中,我向新创建的项目添加了一个新项目(我将该项目命名为testv.cpp),并粘贴了用于测试FLTK的简单代码:
#include <FL/Fl.h>
#include <FL/Fl_box.h>
#include <FL/Fl_Window.h>
//***************************
int main()
{
FI_Window window(200, 200, "Window title");
FL_Box box(O,O,200,200, "Hey, I mean, He llo, World! ");
window.show();
return Fl::run();
}运行此项目(按F5)后,出现了11个错误!他们在下面说:
错误1错误LNK2019:未解析的外部符号"public: static __cdecl Fl::run(void)“(?run@Fl@@SAHXZ)在函数_main C:\_main\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj中引用 错误2错误LNK2019:未解决的外部符号“__thiscall Fl_Widget::Fl_Widget(int,char const *)”(??0Fl_Widget@@IAE@HHHHPBD@Z)在"public:__thiscall Fl_Box::Fl_Box(int,char const *)“(??0Fl_Box@@QAE@HHHHPBD@Z) C:\__thiscall\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj中引用 错误3错误LNK2019:未解析的外部符号"public:__thiscall Fl_Widget::~Fl_Widget(void)“(??1Fl_Widget@@UAE@XZ)在"public:__thiscall Fl_Box::~Fl_Box(void)”(??1Fl_Box@@UAE@XZ) C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj中引用 错误4错误LNK2001:未解决的外部符号"public: virtual __thiscall Fl_Widget::resize(int,int)“(?resize@Fl_Widget@@UAEXHHHH@Z) C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj 错误5错误LNK2001:未解决的外部符号“受保护:虚拟无效__thiscall Fl_Box::draw (?draw@Fl_Box@@MAEXXZ)”(?draw@Fl_Box@@MAEXXZ) C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj 错误6错误LNK2001:未解决的外部符号"public:虚拟int __thiscall Fl_Box::handle(int)“(?handle@Fl_Box@@UAEHH@Z) C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj 错误7错误LNK2019:未解决的外部符号"public:__thiscall Fl_Window::Fl_Window(int,int,char const *)“(??0Fl_Window@@QAE@HHPBD@Z),在函数_main C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj中引用 错误8错误LNK2019:未解析的外部符号"public:__thiscall Fl_Window::~Fl_Window(void)“(??1Fl_Window@@UAE@XZ),在函数_main C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj中引用 错误9错误LNK2019:未解析的外部符号"public: virtualvoid__thiscall Fl_Window::show( void )“(?show@Fl_Window@@UAEXXZ),在函数_main C:\_main\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj中引用 错误10错误LNK2019:函数___tmainCRTStartup C中引用的未解析的外部符号_WinMain@16:\___tmainCRTStartup\CS\documents\visual studio _WinMain@16 错误11错误LNK1120: 10个未解决的外部文件C:\Users\CS\documents\visual studio 2012\Projects\testv\Debug\testv.exe
我认为问题与创建项目有关。在我从Win32项目创建了一个空项目之后,我单击并选择了.cpp类型。我不知道这是否正确。
有解决问题的办法吗?
发布于 2014-01-06 18:47:11
您将得到该错误,因为您要在一行中输入所有库名,而不需要分隔符。它把整个列表作为一个图书馆。单击省略号,然后输入由换行符分隔的每个库名。
使用ws2_32.lib代替wsock32.lib
发布于 2017-02-24 09:55:03
您将得到该错误,因为您要在一行中输入所有库名,而不需要分隔符。它把整个列表作为一个图书馆。单击省略号,然后输入由换行符分隔的每个库名。 使用ws2_32.lib代替wsock32.lib
只是想补充一下。若要分隔每个库,请在每个库名(ex )后面添加分号。( libraryname.lib;libraryname.lib__)或按文本框上的enter键转到下一行,以便Visual将其读取为下一行,您输入的任何内容都会将其视为库名。
示例:
libraryname.lib -现在,按enter键,它将转到下一行,VS将在库名处识别。libraryname.lib -这是下一行和你的新库
我正在学习C++,并使用2015 ^_^
https://stackoverflow.com/questions/20946525
复制相似问题