Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add_requires 能够查找到cmake包的头文件路径, 但无法找到cmake包的库 #2557

Closed
1-erick-zhang opened this issue Jul 11, 2022 · 27 comments
Labels
Milestone

Comments

@1-erick-zhang
Copy link

Xmake 版本

2.6.8 dev

操作系统版本和架构

Deepin 20.6

描述问题

add_requires 结果如下
DtkWidget
{
defines = {
"DSG_DATA_DIR"
},
includedirs = {
"/usr/include/libdtk-5.5.30/DCore",
"/usr/include/libdtk-5.5.22/DGui",
"/usr/include/libdtk-5.5.21/DWidget"
}

并没有找到linkdir /usr/lib/x86_64-linux-gnu 和 libdtkwidget.so, libdtkgui.so 和 libdtkcore.so

期待的结果

希望能找到.so文件的路径和具体.so文件

工程配置

add_rules("mode.debug", "mode.release")

add_requires("cmake::DtkWidget", { system = true })

target("xmake-dtk")
add_rules("qt.widgetapp")
add_headerfiles("src/.h")
add_files("src/
.cpp")
add_files("src/mainwindow.ui")
add_files("src/mainwindow.h")
add_packages("cmake::DtkWidget")

如果添加, 则可以顺利编译
add_linkdirs("/usr/lib/x86_64-linux-gnu")
add_links("dtkcore", "dtkgui", "dtkwidget")

附加信息和错误日志

checking for platform ... linux
checking for architecture ... x86_64
checking for gcc ... /usr/bin/gcc
checkinfo: cannot runv(dmd --version), No such file or directory
checking for dmd ... no checkinfo: cannot runv(ldc2 --version), No such file or directory checking for ldc2 ... no
checkinfo: cannot runv(gdc --version), No such file or directory
checking for gdc ... no
checkinfo: cannot runv(zig version), No such file or directory checking for zig ... no
checkinfo: cannot runv(zig version), No such file or directory checking for zig ... no
checking for unzip ... /usr/bin/unzip checking for git ... /usr/bin/git
checking for gzip ... /usr/bin/gzip checking for tar ... /usr/bin/tar
checking for ping ... /usr/bin/ping pinging for the host(gitlab.com) ... 15 ms
pinging for the host(gitee.com) ... 364 ms
pinging for the host(github.com) ... 65535 ms
finding DtkWidget from cmake ..
checking for cmake ... /usr/bin/cmake
DtkWidget
/usr/bin/cmake /dev/shm/.xmake1000/220711/_6B5F72F117D2483088BE2A8BC5A4F150.dir
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /dev/shm/.xmake1000/220711/_6B5F72F117D2483088BE2A8BC5A4F150.dir

CMAKE generated file: DO NOT EDIT!

Generated by "Unix Makefiles" Generator, CMake Version 3.22

compile CXX with /usr/bin/c++

CXX_DEFINES = -DDSG_DATA_DIR=/usr/local/share/dsg

CXX_INCLUDES = -I/usr/include/libdtk-5.5.30/DCore -I/usr/include/libdtk-5.5.22/DGui -I/usr/include/libdtk-5.5.21/DWidget

CXX_FLAGS =

/usr/bin/c++ CMakeFiles/test_DtkWidget.dir/test.cpp.o -o test_DtkWidget -lDtkWidget -ldtkwidget -ldtkcore -ldtkgui -ldtkcore -lDTKWIDGET -ldtkgui -lDTKWIDGET

{
defines = {
"DSG_DATA_DIR"
},
includedirs = {
"/usr/include/libdtk-5.5.30/DCore",
"/usr/include/libdtk-5.5.22/DGui",
"/usr/include/libdtk-5.5.21/DWidget"
}
}

checking for cmake::DtkWidget ... DtkWidget
checking for qmake ... /usr/bin/qmake
checking for Qt SDK directory ... /usr
checking for Qt SDK version ... 5.15.3
[ 14%]: compiling.qt.ui src/mainwindow.ui
/usr/lib/qt5/bin/uic src/mainwindow.ui -o build/.gens/xmake-dtk/linux/x86_64/release/rules/qt/ui/ui_mainwindow.h
checking for gcc ... /usr/bin/gcc
checking for the c++ compiler (cxx) ... gcc
checking for /usr/bin/gcc ... ok
checking for flags (-fPIC) ... ok

gcc "-fPIC"
checking for flags (-fvisibility-inlines-hidden) ... ok
gcc "-fvisibility-inlines-hidden"
checking for flags (-O3) ... ok
gcc "-O3"
checking for flags (-DNDEBUG) ... ok
gcc "-DNDEBUG"
[ 14%]: compiling.qt.moc src/mainwindow.h
/usr/lib/qt5/bin/moc -DQT_NO_DEBUG -DQT_DEPRECATED_WARNINGS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_CORE_LIB -I/home/deepin/Project/xmake-dtk/build/.gens/xmake-dtk/linux/x86_64/release/rules/qt/ui -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ src/mainwindow.h -o build/.gens/xmake-dtk/linux/x86_64/release/src/moc_mainwindow.cpp
/usr/bin/gcc -c -m64 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -std=c++11 -I/home/deepin/Project/xmake-dtk/build/.gens/xmake-dtk/linux/x86_64/release/rules/qt/ui -DQT_NO_DEBUG -DQT_DEPRECATED_WARNINGS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_CORE_LIB -DDSG_DATA_DIR -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/libdtk-5.5.30/DCore -isystem /usr/include/libdtk-5.5.22/DGui -isystem /usr/include/libdtk-5.5.21/DWidget -DNDEBUG -fPIC -o build/.objs/xmake-dtk/linux/x86_64/release/gens/src/moc_mainwindow.cpp.o build/.gens/xmake-dtk/linux/x86_64/release/src/moc_mainwindow.cpp
[ 42%]: ccache compiling.release src/main.cpp
/usr/bin/gcc -c -m64 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -std=c++11 -I/home/deepin/Project/xmake-dtk/build/.gens/xmake-dtk/linux/x86_64/release/rules/qt/ui -DQT_NO_DEBUG -DQT_DEPRECATED_WARNINGS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_CORE_LIB -DDSG_DATA_DIR -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/libdtk-5.5.30/DCore -isystem /usr/include/libdtk-5.5.22/DGui -isystem /usr/include/libdtk-5.5.21/DWidget -DNDEBUG -fPIC -o build/.objs/xmake-dtk/linux/x86_64/release/src/main.cpp.o src/main.cpp
[ 42%]: ccache compiling.release src/mainwindow.cpp
/usr/bin/gcc -c -m64 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -std=c++11 -I/home/deepin/Project/xmake-dtk/build/.gens/xmake-dtk/linux/x86_64/release/rules/qt/ui -DQT_NO_DEBUG -DQT_DEPRECATED_WARNINGS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_CORE_LIB -DDSG_DATA_DIR -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/libdtk-5.5.30/DCore -isystem /usr/include/libdtk-5.5.22/DGui -isystem /usr/include/libdtk-5.5.21/DWidget -DNDEBUG -fPIC -o build/.objs/xmake-dtk/linux/x86_64/release/src/mainwindow.cpp.o src/mainwindow.cpp
checking for flags (-MMD -MF) ... ok
gcc "-MMD" "-MF" "/dev/null"
checking for flags (-fdiagnostics-color=always) ... ok
gcc "-fdiagnostics-color=always"
checking for g++ ... /usr/bin/g++
checking for the linker (ld) ... g++
checking for /usr/bin/g++ ... ok
checking for flags (-fPIC) ... ok
g++ "-fPIC"
checking for flags (-Wl,-rpath=/usr/lib/x86_64-linux-gnu) ... ok
g++ "-Wl,-rpath=/usr/lib/x86_64-linux-gnu" "-m64" "-m64"
[ 71%]: linking.release xmake-dtk
/usr/bin/g++ -o build/linux/x86_64/release/xmake-dtk build/.objs/xmake-dtk/linux/x86_64/release/src/main.cpp.o build/.objs/xmake-dtk/linux/x86_64/release/src/mainwindow.cpp.o build/.objs/xmake-dtk/linux/x86_64/release/gens/src/moc_mainwindow.cpp.o -m64 -L/usr/lib/x86_64-linux-gnu -Wl,-rpath=/usr/lib/x86_64-linux-gnu -s -lQt5Gui -lQt5Widgets -lQt5Core
error: @programdir/modules/private/async/runjobs.lua:256: @programdir/actions/build/kinds/binary.lua:74: @programdir/core/sandbox/modules/os.lua:257: /usr/bin/ld: build/.objs/xmake-dtk/linux/x86_64/release/src/main.cpp.o: in function _GLOBAL__sub_I_main.cpp': main.cpp:(.text.startup+0x3): undefined reference to Dtk::Widget::DtkBuildVersion::value'
/usr/bin/ld: build/.objs/xmake-dtk/linux/x86_64/release/src/main.cpp.o: in function main': main.cpp:(.text.startup+0x32): undefined reference to Dtk::Widget::DApplication::DApplication(int&, char**)'
/usr/bin/ld: main.cpp:(.text.startup+0x5b): undefined reference to vtable for Dtk::Widget::DApplication' /usr/bin/ld: main.cpp:(.text.startup+0x79): undefined reference to Dtk::Core::DObject::~DObject()'
/usr/bin/ld: build/.objs/xmake-dtk/linux/x86_64/release/src/main.cpp.o: in function main.cold.0': main.cpp:(.text.unlikely+0xb): undefined reference to vtable for Dtk::Widget::DApplication'
/usr/bin/ld: main.cpp:(.text.unlikely+0x28): undefined reference to `Dtk::Core::DObject::~DObject()'
collect2: error: ld returned 1 exit status

stack traceback:
[C]: in function 'error'
[@programdir/core/base/os.lua:872]:
[@programdir/core/sandbox/modules/os.lua:257]: in function 'runv'
[@programdir/modules/core/tools/gcc.lua:374]:
[C]: in function 'xpcall'
[@programdir/core/base/utils.lua:280]:
[@programdir/actions/build/kinds/binary.lua:74]: in function 'callback'
[@programdir/modules/core/project/depend.lua:189]: in function 'on_changed'
[@programdir/actions/build/kinds/binary.lua:55]: in function '_do_link_target'
[@programdir/actions/build/kinds/binary.lua:102]:
[@programdir/actions/build/kinds/binary.lua:129]: in function '_link_target'
[@programdir/actions/build/kinds/binary.lua:157]: in function 'jobfunc'
[@programdir/modules/private/async/runjobs.lua:232]:
[C]: in function 'xpcall'
[@programdir/core/base/utils.lua:280]: in function 'trycall'
[@programdir/core/sandbox/modules/try.lua:121]: in function 'try'
[@programdir/modules/private/async/runjobs.lua:218]: in function 'cotask'
[@programdir/core/base/scheduler.lua:388]:

stack traceback:
[C]: in function 'error'
@programdir/core/base/os.lua:872: in function 'os.raiselevel'
(...tail calls...)
@programdir/modules/private/async/runjobs.lua:256: in field 'catch'
@programdir/core/sandbox/modules/try.lua:127: in global 'try'
@programdir/modules/private/async/runjobs.lua:218: in upvalue 'cotask'
@programdir/core/base/scheduler.lua:388: in function <@programdir/core/base/scheduler.lua:385>

@waruqi
Copy link
Member

waruqi commented Jul 11, 2022

@1-erick-zhang
Copy link
Author

ok

@1-erick-zhang
Copy link
Author

1-erick-zhang commented Jul 11, 2022

for _, line in ipairs(os.argv(linkdata)) do

正常读取link.txt

linkdata:

/usr/bin/c++ CMakeFiles/test_DtkWidget.dir/test.cpp.o -o test_DtkWidget  -lDtkWidget -ldtkwidget -ldtkcore -ldtkgui -ldtkcore -lDTKWIDGET -ldtkgui -lDTKWIDGET

问题好像出现在这里, 这两个变量is_ldflags, is_library 一直是false

@1-erick-zhang
Copy link
Author

1-erick-zhang commented Jul 11, 2022

if line:startswith("-Wl,") then

问题出现在这里 "-Wl,"
把 W和, 去掉就行了, 变成"-l"

输出变成了

{
  defines = {
    "DSG_DATA_DIR"
  },
  ldflags = {
    "-lDtkWidget",
    "-ldtkwidget",
    "-ldtkcore",
    "-ldtkgui",
    "-lDTKWIDGET"
  },
  includedirs = {
    "/usr/include/libdtk-5.5.30/DCore",
    "/usr/include/libdtk-5.5.22/DGui",
    "/usr/include/libdtk-5.5.21/DWidget"
  }
}

最后,他输出了一个警告

warning: add_ldflags("-lDtkWidget") is ignored, please pass `{force = true}` or call `set_policy("check.auto_ignore_flags", false)` if you want to set it.
warning: add -v for getting more warnings ..

不知道有没有影响

@1-erick-zhang
Copy link
Author

大佬能改一下吗?

@waruqi
Copy link
Member

waruqi commented Jul 13, 2022

更新到 dev 再试试,xmake update -s dev

@waruqi waruqi added this to the v2.6.9 milestone Jul 13, 2022
@1-erick-zhang
Copy link
Author

1-erick-zhang commented Jul 13, 2022

我测试了一下,有些问题

checking for platform ... linux
checking for architecture ... x86_64
DtkWidget
{ 
  defines = { 
    "DSG_DATA_DIR" 
  },
  links = { 
    "DtkWidget",
    "dtkwidget",
    "dtkcore",
    "dtkgui",
    "DTKWIDGET" 
  },
  includedirs = { 
    "/usr/include/libdtk-5.5.30/DCore",
    "/usr/include/libdtk-5.5.22/DGui",
    "/usr/include/libdtk-5.5.21/DWidget" 
  } 
}

checking for Qt SDK directory ... /usr
checking for Qt SDK version ... 5.15.3
[ 25%]: ccache compiling.release src/main.cpp
[ 50%]: linking.release xmake-dtk
error: /usr/bin/ld: 找不到 -lDtkWidget
/usr/bin/ld: 找不到 -lDTKWIDGET
collect2: error: ld returned 1 exit status

warning: cannot match target(xmake-dtk).add_files("src/mainwindow.ui") at ./xmake.lua:9
warning: add -v for getting more warnings ..

linkdata:
/usr/bin/c++ CMakeFiles/test_DtkWidget.dir/test.cpp.o -o test_DtkWidget -lDtkWidget -ldtkwidget -ldtkcore -ldtkgui -ldtkcore -lDTKWIDGET -ldtkgui -lDTKWIDGET

或许可以让它检测可用的 links, 然后添加

@waruqi
Copy link
Member

waruqi commented Jul 13, 2022

缺 linkdirs ,看下是否在 /usr 下系统库目录

或许可以让它检测可用的 links, 然后添加

自己检测是不可靠的,而且缺 linkdirs 这些 links 都会被忽略,最后link还是会失败

@1-erick-zhang
Copy link
Author

1-erick-zhang commented Jul 13, 2022

没有少, 反而是多了, xmake检测到了

links = { 
    "DtkWidget",
    "dtkwidget",
    "dtkcore",
    "dtkgui",
    "DTKWIDGET" 
  }

DTKWIDGET,DtkWidget

我用cmake构造的dtk程序里, 不会多余这两个

@1-erick-zhang
Copy link
Author

link.txt:
/usr/bin/g++ -Wall CMakeFiles/template.dir/template_autogen/mocs_compilation.cpp.o CMakeFiles/template.dir/main.cpp.o CMakeFiles/template.dir/template_autogen/EWIEGA46WW/qrc_resources.cpp.o -o template -ldtkwidget -ldtkcore -ldtkgui -ldtkcore /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.3 -ldtkgui /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.15.3 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.15.3

@waruqi
Copy link
Member

waruqi commented Jul 14, 2022

我用cmake构造的dtk程序里, 不会多余这两个

那你继续调下上面那个 find_package.lua 看看为什么多了。。那个里面也是构造的 cmakelists 让 cmake 生成的 link.txt 。。

@1-erick-zhang
Copy link
Author

1-erick-zhang commented Jul 14, 2022

我找到问题的位置了

_find_package 生成的 CMakeLists.txt:

cmake_minimum_required(VERSION 3.22.1)
project(find_package)
find_package(DtkWidget REQUIRED)
if(DtkWidget_FOUND)
   add_executable(test_DtkWidget test.cpp)
   target_include_directories(test_DtkWidget PRIVATE ${DtkWidget_INCLUDE_DIR} ${DtkWidget_INCLUDE_DIRS})
   target_include_directories(test_DtkWidget PRIVATE ${DTKWIDGET_INCLUDE_DIR} ${DTKWIDGET_INCLUDE_DIRS})
   target_include_directories(test_DtkWidget PRIVATE ${DtkWidget_CXX_INCLUDE_DIRS})
   target_link_libraries(test_DtkWidget DtkWidget ${DtkWidget_LIBRARY} ${DtkWidget_LIBRARIES} ${DtkWidget_LIBS})
   target_link_libraries(test_DtkWidget DTKWIDGET ${DTKWIDGET_LIBRARY} ${DTKWIDGET_LIBRARIES} ${DTKWIDGET_LIBS})
endif(DtkWidget_FOUND)

其中

   target_link_libraries(test_DtkWidget DtkWidget ${DtkWidget_LIBRARY} ${DtkWidget_LIBRARIES} ${DtkWidget_LIBS})
   target_link_libraries(test_DtkWidget DTKWIDGET ${DTKWIDGET_LIBRARY} ${DTKWIDGET_LIBRARIES} ${DTKWIDGET_LIBS})

DtkWidget, DTKWIDGET 被链接进去了

cmakefile:print(" target_link_libraries(%s %s ${%s_LIBRARY} ${%s_LIBRARIES} ${%s_LIBS})",
testname, name, name, name, name)
cmakefile:print(" target_link_libraries(%s %s ${%s_LIBRARY} ${%s_LIBRARIES} ${%s_LIBS})",
testname, name:upper(), name:upper(), name:upper(), name:upper())

当我去除一个 %s 和 name:

cmakefile:print("   target_link_libraries(%s ${%s_LIBRARY} ${%s_LIBRARIES} ${%s_LIBS})", 
     testname, name, name, name) 
cmakefile:print("   target_link_libraries(%s ${%s_LIBRARY} ${%s_LIBRARIES} ${%s_LIBS})", 
     testname, name:upper(), name:upper(), name:upper()) 

就编译成功了

{ 
  links = { 
    "dtkwidget",
    "dtkcore",
    "dtkgui" 
  },
  defines = { 
    "DSG_DATA_DIR" 
  },
  includedirs = { 
    "/usr/include/libdtk-5.5.30/DCore",
    "/usr/include/libdtk-5.5.22/DGui",
    "/usr/include/libdtk-5.5.21/DWidget" 
  } 
}

@waruqi
Copy link
Member

waruqi commented Jul 14, 2022

当初大小写 link 都加进去,也是因为 有些包的 links 要么在这些的 var 里,要么在大写的 var 里,无法精准判断,只能全加进去才能提取到

这块要改需要花点时间,等后面几天有空了 我再改下

@1-erick-zhang
Copy link
Author

ok, 感谢了

@waruqi
Copy link
Member

waruqi commented Jul 15, 2022

target_link_libraries(test_DtkWidget DtkWidget ${DtkWidget_LIBRARY} ${DtkWidget_LIBRARIES} ${DtkWidget_LIBS})
target_link_libraries(test_DtkWidget DTKWIDGET ${DTKWIDGET_LIBRARY} ${DTKWIDGET_LIBRARIES} ${DTKWIDGET_LIBS})

你两个都去了,还是就去掉了一个 大写的?

@1-erick-zhang
Copy link
Author

两个都去了, DtkWidget只是包名, 只有dtkwidget需要链接

@waruqi
Copy link
Member

waruqi commented Jul 15, 2022

两个都去了 就没有任何 target_link_libraries 了,为啥还能解析到 links

links = {
"dtkwidget",
"dtkcore",
"dtkgui"
},

@1-erick-zhang
Copy link
Author

我调一下cmake

@1-erick-zhang
Copy link
Author

他是从 DtkWidget_LIBRARIES 出现的 dtkwidget;dtkcore;dtkgui;dtkcore

@waruqi
Copy link
Member

waruqi commented Jul 15, 2022

你不是两行的 target_link_libraries 都去了么,那应该 DtkWidget_LIBRARIES 也没了吧,为啥还能取到?

还是你这只是删了 一行 大写的?

cmakefile:print("   target_link_libraries(%s %s ${%s_LIBRARY} ${%s_LIBRARIES} ${%s_LIBS})", 
     testname, name:upper(), name:upper(), name:upper(), name:upper()) 

@1-erick-zhang
Copy link
Author

删了一个name参数还有一个name:upper

@waruqi
Copy link
Member

waruqi commented Jul 15, 2022

删了一个name参数还有一个name:upper

如果你保留的是 upper 的,不是应该取的 DTKWIDGET_LIBRARIES 里面的么

@1-erick-zhang
Copy link
Author

改成这样

cmakefile:print("   target_link_libraries(%s ${%s_LIBRARY} ${%s_LIBRARIES} ${%s_LIBS})", 
     testname, name, name, name) 
cmakefile:print("   target_link_libraries(%s ${%s_LIBRARY} ${%s_LIBRARIES} ${%s_LIBS})", 
     testname, name:upper(), name:upper(), name:upper())

@waruqi
Copy link
Member

waruqi commented Jul 15, 2022

哦,明白了,你删了一个 %s ,这个是 bug 。我刚修了,你再试试,dev 版本

@1-erick-zhang
Copy link
Author

辛苦了,我试试

@waruqi
Copy link
Member

waruqi commented Jul 15, 2022

刚 push ,再试下

@1-erick-zhang
Copy link
Author

成功了

{ 
  includedirs = { 
    "/usr/include/libdtk-5.5.30/DCore",
    "/usr/include/libdtk-5.5.22/DGui",
    "/usr/include/libdtk-5.5.21/DWidget" 
  },
  defines = { 
    "DSG_DATA_DIR" 
  },
  links = { 
    "dtkwidget",
    "dtkcore",
    "dtkgui" 
  } 
}

辛苦了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants