IUP 图形示例问题

  • 本文关键字:问题 图形 IUP iup
  • 更新时间 :
  • 英文 :


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

比如剧情。C或mathglsamples.c在MinGW X64窗口环境下直接从源代码中适配而来,本身无需修改。然而,文档太差了,以至于我遇到了墙。 经过反复尝试,我终于用IUP,CD和IM核心动态库来运行它。

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

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

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

# 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"

)

谢谢

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

那不是真的。IUP 网站上有很多关于构建 IUP 应用程序的文档(包括多个 IDE 的教程和指南(:

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

对于绘图示例,复杂性会增加很多,因为涉及多个库。使用 DLL 而不是静态库也会使情况复杂化。但是依赖关系就在那里。声明:

文档太差了

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

如果您发现一些未描述的依赖项,请告诉我们。您可以使用 iup@tecgraf.puc-rio.br 电子邮件或我们的邮件列表来沟通问题。

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

相关内容

  • 没有找到相关文章

最新更新