我一直在尝试运行此链接 C or CPP examples
下提供的IUP图例 MinPW X64 windows环境下的plot.C或mathglsamples.c等直接源代码自适应,无需修改本身。然而,文档很差,我碰到了墙。经过反复尝试,我终于得到了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"
)
感谢
答案 0 :(得分:0)
网站目前没有明确的图书馆要求
那不是真的。在IUP网站上有很多用于构建IUP应用程序的文档(包括几个IDE的教程和指南):
http://iup.sourceforge.net/ 要么 http://www.tecgraf.puc-rio.br/iup/
对于绘图示例,复杂性增加了很多,因为涉及多个库。使用DLL而不是静态库也很复杂。但依赖是存在的。说明:
文档太差了
真的破坏了我们的工作。我建议你在为任何开源库做贡献时,先从“文档遗漏......”开始。
如果您发现某些未描述的依赖项,请告诉我们。您可以使用iup@tecgraf.puc-rio.br电子邮件或我们的邮件列表来沟通问题。
感谢您分享您的CMake makefile。