Microsoft 2010 visual c,安装FLTK

问题描述 投票:1回答:4

MSV2010C ++的FLTK问题

我正在遵循“编程-使用C ++的原理和实践”。

在让FLTK正常运行时遇到了麻烦。我曾经为我工作,然后再也没有。我已经详细说明了以下步骤,如果有人注意到任何奇怪的地方,将不胜感激。

我主要关注的是以下几点:1)链接器>输入>其他依赖项中的步骤有些混乱2)我为1.1.9和1.3.0构建了两个解决方案。这些冲突可以吗?3)至少可以说,我对过程的理解是基本的。

建筑物实际上实现了什么?它会创建什么对象?如何检查已正确制作?

系统Windows 7(64位)(Microsoft 2010 Visual C ++)

为fltt 1.1.9尝试的步骤

1下载fltk-1.1.9-源

2 vlC2005解决方案为我提供了以下结果:

========== Build: 66 succeeded, 3 failed, 0 up-to-date, 1 skipped ==========

3将lib文件从源复制到x:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ lib

4将FL FOLDER复制到(因此添加/替换了文件夹)x:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ include \

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

========== Build: 6 succeeded, 3 failed, 0 up-to-date, 0 skipped ==========

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

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

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

    #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运行它时,得到以下信息

  1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16  
  referenced in function ___tmainCRTStartup

10更改项目设置-链接器>输入>其他依赖项:

 "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跑步时,我得到了-

 1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol 
_WinMain@16 referenced in function ___tmainCRTStartup

结论无法在MS2010VC ++下构建1.1.9。

让我们尝试1.3代替-------

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

2构建了它(我已经做了几次,所以它给出了以下结果:

========== Build: 0 succeeded, 0 failed, 79 up-to-date, 0 skipped ==========

3如果运行它,则会在屏幕上显示图形。到目前为止一切顺利!

4将lib文件从源复制到x:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ lib

5将FL FOLDER复制到(因此添加/替换了文件夹)x:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ include \

6步骤6-8与上述相同,因此只需加载先前的项目。

7我跑步时

 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个忽略默认库> libcd.lib

9用相同的结果再次运行

很抱歉,本文的长度,但是我认为澄清问题的唯一方法是包括所有详细信息。

据我所知,我正在严格按照说明进行操作。主要问题是我无法运行1.1.9。

我已经在许多站点上搜索了此问题的解决方案,但尚未找到详细的逐步编写过程的信息。

c++ visual-studio-2010 fltk
4个回答
2
投票

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. 右键单击并单击生成
  5. 它应该完整无误。如果有错误,我非常怀疑本指南是否可以为您提供帮助。
  6. 完成后,您应该可以运行它(将打开窗口)。

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

  1. 启动MSVC ++ 2010
  2. File> New> Project-选择Win32项目并命名

       FLTK-Test3
    
  3. 在向导上单击下一步,然后应用程序类型:保留为Windows应用程序附加选项:空项目点击完成

  4. 在解决方案资源管理器上右键单击源文件,添加

       FLTK-Test3.cpp
    
  5. 右键单击FLTK-Test3并进入属性

    a)配置属性> C / C ++>命令行>其他选项-添加

        /Ic:\fltk-1.3.0
    

    b)配置属性>链接器>输入>其他依赖项>这是最难的部分,您需要添加

        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)您可能还必须执行此操作(如果它没有运行)

配置属性>链接器>输入>忽略特定的默认库>

    libcd.lib
  1. 一旦完成所有这些,您应该可以在下面添加完整的代码-

    #include <FL/Fl.h>
    #include <FL/Fl_Window.h>
    
    int main()
    {
     Fl_Window win(320,200);
     win.show();
     return Fl::run();
    }
    

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

我仍然有很多错误,-

  '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'

..但它跑了!

希望有所帮助。


0
投票

David,我建议您观看Greg Ercolano制作的这部出色的视频教程(在经过多年的发展后仍会动摇):http://seriss.com/people/erco/fltk-videos/fltk-ms-vs-build.html。该视频的标题为“ 如何使用Visual Studio 7.0开始构建FLTK”,但我认为它也适用于VC 2010。

关于您的问题-我认为这可能只是引起问题的项目类型...将您的项目配置为Win32项目。虽然,FLTK应用程序也应作为控制台应用程序...


0
投票

您收到的错误消息表明您可能已经创建了一个项目,而该项目不是运行FLTK所必需的设置(Win32控制台应用程序)。

以下链接应有帮助。

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


0
投票

如果您转至这篇文章,请查看以下链接,以获取有关更高版本的MS Visual Studio(2017)的更完整解决方案。该海报还与Bjorn Stroustrup的入门教科书“编程-使用C ++的原理和实践”一起工作]

https://bumpyroadtocode.com/2017/08/29/how-to-install-and-use-fltk-1-3-4-in-visual-studio-2017-complete-guide-2-0-no-cross-contamination/

© www.soinside.com 2019 - 2024. All rights reserved.