首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Microsoft 2010 visual c++,安装FLTK

Microsoft 2010 visual c++,安装FLTK
EN

Stack Overflow用户
提问于 2012-07-06 14:36:58
回答 3查看 4.2K关注 0票数 1

MSV2010C++的FLTK问题

我遵循的是“使用C++编程的原则和实践”。

在尝试正确运行FLTK时遇到困难。我为自己工作过一次,然后就再也没有了。我已经详细介绍了下面采取的步骤,如果有人能注意到任何奇怪的东西,我将不胜感激。

我的主要关注点如下: 1) Linker > Input > Additional dependencies中的步骤有点令人困惑2)我已经为1.1.9和1.3.0构建了两个解决方案。这些可能会冲突吗? 3)至少可以说,我对这个过程的理解是基本的。

构建实际上实现了什么?它将创建哪些对象?我怎样才能检查这些是否正确?

系统Windows7(64位)(Microsoft2010Visual C++)

针对fltt 1.1.9尝试的步骤

1下载fltk-1.1.9-source

2 vlC2005解决方案给了我以下结果:

代码语言:javascript
复制
========== Build: 66 succeeded, 3 failed, 0 up-to-date, 1 skipped ==========

3将库文件从源代码复制到x:\Program files (x86)\Microsoft Visual Studio10.0\VC\ lib

4将FL文件夹复制到(因此文件夹被添加/替换) x:\Program Files (x86)\Microsoft Visual Studio10.0\VC\include\

5如果我尝试运行解决方案,它会失败-

代码语言:javascript
复制
========== Build: 6 succeeded, 3 failed, 0 up-to-date, 0 skipped ==========

6创建一个名为graphics6的新项目,作为win32项目

7应用程序设置- Windows应用程序和空项目

8在源文件中,创建了graphics6.cpp,添加了以下代码

代码语言:javascript
复制
    #include <FL/Fl.h>
    #include <FL/Fl_Box.h>
    #include <FL/Fl_Window.h>

    int main()
    {
    Fl_Window window(200,200,"Window Title");
    Fl_Box box(0,0,200,200,"Hey");
    window.show();
    return Fl::run();
    }

9当我运行它时,我得到以下结果

代码语言:javascript
复制
  1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16  
  referenced in function ___tmainCRTStartup

10更改项目设置- Linker > Input > Additional dependencies:

代码语言:javascript
复制
 "kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;
 shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(fltkd.lib
 wsock32.lib comctl32.lib fltkjpegd.lib fltkimagesd.lib)"

11当我跑步的时候,我得到了这个-

代码语言:javascript
复制
 1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol 
_WinMain@16 referenced in function ___tmainCRTStartup

结论1.1.9不能在MS2010VC++下构建

让我们试试1.3

1下载1.3并运行解决方案\fltk-1.3.0-source\fltk-1.3.0\ide\VisualC2010\fltk.sln

2构建了它(我已经做过几次了,所以它会产生以下结果:

代码语言:javascript
复制
========== Build: 0 succeeded, 0 failed, 79 up-to-date, 0 skipped ==========

3如果我运行它,我会得到屏幕上的图形。到目前一切尚好!

4将库文件从源代码复制到x:\Program files (x86)\Microsoft Visual Studio10.0\VC\ lib

5将FL文件夹复制到(因此文件夹被添加/替换) x:\Program Files (x86)\Microsoft Visual Studio10.0\VC\include\

6步骤6-8与上面相同,所以只加载了上一个项目。

7当我跑步的时候

代码语言:javascript
复制
 1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16
 referenced in function ___tmainCRTStartup
 1>C:my information \visual studio 2010\Projects\graphics6\Debug\graphics6.exe : fatal 
 error LNK1120: 1 unresolved externals 
 ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

8添加了Ignore Default Libraries> libcd.lib

9再次运行,得到相同的结果

很抱歉这篇文章的篇幅太长,但我觉得澄清这个问题的唯一方法就是包含所有的细节。

据我所知,我正在尽可能严格地按照说明进行操作。主要的问题是我不能运行1.1.9。

我已经在许多网站上寻找了这个问题的解决方案,但还没有找到详细的一步一步地写出这个过程。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-09 15:30:20

FLTK 1.3.0

好了,我终于得到了一个解决方案(大约12个小时后)-

第1部分-构建FLTK

  1. 下载fltk-1.3.0并解压缩。
  2. 将包含的fltk-1.3.0文件夹复制到C:\ (您可以使用其他位置,但您必须更改某些命令)。
  3. 进入C:\fltk-1.3.0\ide\VisualC2010并运行fltk.sln
  4. ,右键单击它,然后单击build
  5. 。如果出现错误,我非常怀疑本指南对您的帮助。
  6. 完成后,您应该可以运行它(将打开窗口)。

第2部分-运行您自己的项目假设构建正确,您现在可以按照以下步骤操作:

  1. Launch MSVC++2010
  2. File>New>Project -选择Win32项目和名称

Click on >向导上的下一步是FLTK-Test3

  • Click应用程序类型:保留为Windows应用程序其他选项:空项目单击finish

  • 在解决方案资源管理器中右键单击源文件,然后添加

FLTK-Test3.cpp

  • Right单击FLTK-Test3并进入属性

a)配置属性>C/C++>命令Line>Additional选项-添加

/Ic:\fltk-1.3.0

b) Configuration Properties>Linker>Input>Additional Dependencies>这是最难的部分,您需要添加

c:\fltk-1.3.0\lib\fltkd.lib;wsock32.lib;comctl32.lib;c:\fltk-1.3.0\lib\fltkjpegd.lib;c:\fltk-1.3.0\lib\fltkimagesd.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;c:\fltk-1.3.0\lib\fltkd.lib;wsock32.lib;comctl32.lib;c:\fltk-1.3.0\lib\fltkjpegd.lib;c:\fltk-1.3.0\lib\fltkimagesd.lib;

.lib文件末尾的'd‘表示调试,所以对于最终的构建,我认为应该包含没有'd’的版本。所以是..fltkjpeg.lib而不是..jpegd.lib。

如果这一部分工作正常,当您添加代码的第一个#include行时,它不应该加下划线。如果是,那就有问题了。

c)你可能也需要这样做(如果它不能运行)

Configuration Properties>Linker>Input>Ignore特定的默认Libraries>

代码语言:javascript
复制
    libcd.lib

  1. 完成所有这些后,您应该能够添加下面的完整代码-

#include #include int main() { Fl_Window win(320,200);win.show();return F1::run();}

输入上面的代码,然后运行。

我还有一大堆错误,-

代码语言:javascript
复制
  'FLTK-Test3.exe': Loaded 'C:\Users\USER\Documents\Visual Studio 2010\Projects\FLTK-Test3\Debug\FLTK-Test3.exe', Symbols loaded.
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common- controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\advapi32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\msvcrt.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\sechost.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\rpcrt4.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\sspicli.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\cryptbase.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\gdi32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\user32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\lpk.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\usp10.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\msvcr100d.dll', Symbols loaded.
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\comdlg32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\shlwapi.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\shell32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\ole32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\imm32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\uxtheme.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\dwmapi.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\clbcatq.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\oleaut32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\msimtf.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\version.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Unloaded 'C:\Windows\SysWOW64\msimtf.dll'
  'FLTK-Test3.exe': Unloaded 'C:\Windows\SysWOW64\version.dll'

。。但是它跑了!

希望这能有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2012-07-07 17:11:22

大卫,我建议你看看这个由Greg Ercolano制作的优秀的视频教程:http://seriss.com/people/erco/fltk-videos/fltk-ms-vs-build.html。该视频的标题是“如何使用Visual Studio 7.0构建FLTK入门”,但我相信它也适用于VC 2010。

关于你的问题--我认为仅仅是项目的类型可能是导致问题的原因。将您的项目配置为Win32项目。虽然,FLTK应用程序也应该像控制台应用程序一样工作。

票数 0
EN

Stack Overflow用户

发布于 2012-07-11 02:45:38

您得到的错误消息表明,您创建的项目可能不是运行FLTK所需的设置(Win32控制台应用程序)。

下面的链接应该会有帮助。

http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvc/thread/b83e4884-9dec-4d67-ab92-90d5b6c8c51c/

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

https://stackoverflow.com/questions/11357047

复制
相关文章

相似问题

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