首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IUP图形示例问题

IUP图形示例问题
EN

Stack Overflow用户
提问于 2018-05-19 22:54:25
回答 1查看 135关注 0票数 0

我一直在尝试运行此链接 C or CPP examples下给出的IUP图形示例

如MinGW X64 windows环境下的plot.C或mathglsamples.c,直接从源代码改编而来,本身无需修改。然而,文档如此之差,以至于我遇到了wall。经过反复尝试,我终于得到了IUP,CD和IM核心动态库。

我现在很高兴地分享我对独立exe文件的成功配置,以使那些人受益,并帮助他们避免面临挫折和错误,因为目前在网站上没有明确的库要求。

在netbeans IDE上运行会容易得多,只需指定所需的所有头文件和库即可。

下面是Cmake,只需确保所有这些.dll库都复制到exe文件所在的同一输出文件夹中。

代码语言:javascript
复制
# cmake_minimum_required(VERSION <specify CMake version here>)
cmake_minimum_required(VERSION 3.10)
project(IUP)
#set (CMAKE_LEGACY_CYGWIN_WIN32 0)
set(CMAKE_CXX_STANDARD 17)



set(IUPDir "C:/iup-3.24_Win64_dllw4_lib")
set(CDDir "C:/cd-5.11.1_Win64_dllw4_lib")
set (IMDir "C:/im-3.12_Win64_dllw4_lib")


include_directories(${IUPDir})
include_directories(${IUPDir}/include)

include_directories(CDDir)
include_directories(${CDDir}/include)

include_directories(${IMDir}/include)

link_directories(${IUPDir})
link_directories(${CDDir})


add_executable(IUP mathglsamples.c)
#add_executable(IUP plot.cpp)

find_package(iup.dll)
find_package(iupimglib.dll)


add_custom_command(TARGET IUP POST_BUILD        # Adds a post-build event to MyTest
        COMMAND ${CMAKE_COMMAND} -E copy_if_different  # which executes "cmake - E copy_if_different..."
        "${IUPDir}/iup.dll"
        "${IUPDir}/iupimglib.dll"
        "${IUPDir}/iup_plot.dll"
        "${IUPDir}/iupcontrols.dll"
        "${IUPDir}/iupgl.dll"
        "${IUPDir}/iupcd.dll"
        "${IUPDir}/ftgl.dll"
        "${IUPDir}/iup_mglplot.dll"
        "${IUPDir}/iupim.dll"
        "${IUPDir}/zlib1.dll"

        "${CDDir}/cd.dll"
        "${CDDir}/cdgl.dll"
        "${CDDir}/freetype6.dll"
        "${CDDir}/cdcontextplus.dll"


        "${IMDir}/im.dll"
        "${IMDir}/im_process.dll"
        # <--this is in-file
        $<TARGET_FILE_DIR:IUP>

        )

target_include_directories(IUP PUBLIC ${IUPDir})
target_include_directories(IUP PUBLIC ${CDDir})
target_include_directories(IUP PUBLIC ${IMDir})


target_link_libraries (IUP  PUBLIC

        "${IUPDir}/iup.dll"
        "${IUPDir}/iupimglib.dll"
        "${IUPDir}/iup_plot.dll"
        "${IUPDir}/iupcontrols.dll"
        "${IUPDir}/iupgl.dll"
        "${IUPDir}/iupcd.dll"
        "${IUPDir}/ftgl.dll"
        "${IUPDir}/iup_mglplot.dll"
        "${IUPDir}/iupim.dll"
        "${IUPDir}/zlib1.dll"

        "${CDDir}/cd.dll"
        "${CDDir}/cdgl.dll"
        "${CDDir}/freetype6.dll"
        "${CDDir}/cdcontextplus.dll"


        "${IMDir}/im.dll"
        "${IMDir}/im_process.dll"


        )

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-05-20 01:17:26

网站中当前没有明确的库要求

那是胡说。IUP网站上有大量关于构建IUP应用程序的文档(包括几个IDE的教程和指南):

http://iup.sourceforge.net/http://www.tecgraf.puc-rio.br/iup/

对于一个绘图示例,复杂性增加了很多,因为涉及到几个库。使用DLL而不是静态库也很复杂。但是依赖关系是存在的。陈述:

文档太差了

真正破坏了我们的工作。我建议您在为任何开源库做贡献时,从“文档缺少...”开始。

如果您发现一些未描述的依赖项,请让我们知道。您可以使用iup@tecgraf.puc-rio.br电子邮件或在我们的邮件列表中交流问题。

感谢您共享您的CMake生成文件。

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

https://stackoverflow.com/questions/50426560

复制
相关文章

相似问题

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