首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Visual 2012上安装和使用FLTK

在Visual 2012上安装和使用FLTK
EN

Stack Overflow用户
提问于 2014-01-06 09:12:47
回答 2查看 2.5K关注 0票数 2

我在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并将其安装。安装时有一些失败,但它终于完成了!

  1. 从“生成”菜单中选择“生成解决方案”。这可能需要几分钟。源代码正在编译成静态链接库,这样您就不必在任何时候重新编译FLTK源代码了。当进程完成后,关闭Visual。
  2. 从主FLTK目录中打开lib文件夹。将(不仅仅是移动/拖动)所有.lib文件( README.lib除外)复制到C:\Prograrn \\Vc\lib中。
  3. 返回到FLTK主目录,并将FL文件夹复制到C:\Program \\Vc\include中。
  4. 在Visual中创建一个新项目,只需对通常的过程进行一次更改:在选择项目类型时创建"\Vin32项目“而不是”控制台应用程序“。一定要创建一个“空项目”;否则,一些“软件向导”将为您的项目添加许多您不太需要或不了解的内容。
  5. 在Visual中,从主(顶部)菜单中选择Project,从下拉菜单中选择Properties。
  6. 在“属性”对话框的左侧菜单中,单击“链接器”文件夹。这就扩展了子菜单.在此子菜单中,单击“输入”。在右侧的附加依赖项文本字段中,输入以下文本: fltkd.lib wsock32.lib comctl32.lib fltkjpegd.lib fltkimagesd.lib,下面的步骤可能是lIImecessary,因为il现在是默认的。在“忽略特定库”文本字段中,输入以下文本: libcd.lib
  7. 这个步骤可能没有必要,因为/MDd现在是默认的。在左侧菜单中的相同属性窗口中,迪克C/C++展开一个不同的子菜单。单击“代码生成”子菜单项。在右边的菜单中,将Runtime下拉到多线程调试DLL (/MDd).单击“确定”关闭“属性”窗口。

在这个步骤中,我向新创建的项目添加了一个新项目(我将该项目命名为testv.cpp),并粘贴了用于测试FLTK的简单代码:

代码语言:javascript
运行
复制
#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类型。我不知道这是否正确。

有解决问题的办法吗?

EN

回答 2

Stack Overflow用户

发布于 2014-01-06 18:47:11

您将得到该错误,因为您要在一行中输入所有库名,而不需要分隔符。它把整个列表作为一个图书馆。单击省略号,然后输入由换行符分隔的每个库名。

使用ws2_32.lib代替wsock32.lib

票数 1
EN

Stack Overflow用户

发布于 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 ^_^

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

https://stackoverflow.com/questions/20946525

复制
相关文章

相似问题

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