如何解决当 LIBS += -L"..." 似乎不起作用时,如何在 Qt Creator 中链接外部库?
我一直在尝试在我的代码中使用 Intel Open Image Denoise 库,但到目前为止仍然没有运气。显然,我似乎没有正确链接库。
这是我到目前为止所做的:在编译 OIDN 后,我将 oidn 目录移动到我的路径跟踪代码所在的目录,并在我正在 Qt 中处理的代码 (C++11) 中执行以下操作创作者。
#include "oidn/include/OpenImageDenoise/oidn.hpp"
.
.
.
oidn::DeviceRef device = oidn::newDevice(); // this is where things break
device.commit();
请注意,执行 #include "oidn/include/OpenImageDenoise/oidn.hpp"
似乎工作正常,因为自动完成功能适用于 oidn 并显示其成员。但是,我收到以下错误,这似乎是由于未链接 oidn 库所致。
我尝试通过 LIBS += -L"oidn/build/"
或 LIBS += -L"oidn/build/libOpenImageDenoise.so"
(如图所示)链接库,但出现相同的错误。我还附加了 -loidn
,但出现错误提示 "cannot find -loidn"
。我现在很困惑我应该做什么。我什至不确定错误是否是由于没有正确链接库造成的,因为我看到人们通常以与我在这里尝试的方式相同的方式链接 C++ 中的库。如果有人能帮助我弄清楚我需要做什么才能让 OIDN 工作,我将不胜感激。
解决方法
-L
后面必须跟一个目录。您要查找的实际上是 -l
。
之前的所有答案/评论都是正确的。关于我的案例的奇怪之处在于 build
目录中库的符号链接无效并且没有指向正确的文件。 ls -lh /home/Warrior/Desktop/pathtracer/oidn/build
的输出如下:
total 160K
drwxrwxr-x 4 amir amir 4.0K Feb 4 00:09 apps
-rw-rw-r-- 1 amir amir 19K Feb 4 00:09 CMakeCache.txt
drwxrwxr-x 7 amir amir 4.0K Feb 4 00:09 CMakeFiles
-rw-rw-r-- 1 amir amir 6.5K Feb 4 00:09 cmake_install.cmake
drwxrwxr-x 3 amir amir 4.0K Feb 4 00:09 common
-rw-r--r-- 1 amir amir 3.6K Feb 4 00:09 CPackConfig.cmake
-rw-r--r-- 1 amir amir 4.0K Feb 4 00:09 CPackSourceConfig.cmake
-rw-rw-r-- 1 amir amir 103K Feb 4 00:09 Makefile
drwxrwxr-x 3 amir amir 4.0K Feb 4 00:08 mkl-dnn
-rw-r--r-- 1 amir amir 1.6K Feb 4 00:09 OpenImageDenoiseConfigVersion.cmake
但是当我转到目录时,我会看到以下内容:
我所做的不是在其他地方克隆 oidn 存储库并构建它,而是在 /home/Warrior/Desktop/pathtracer/
中克隆了 oidn 存储库并在那里构建它。之后,我可以通过 ls -lh
看到正确的文件名/符号链接,如下所示。现在我的程序可以编译并且一切正常。我只需要在编译代码时使用 LIBS += -L"oidn/build/" -lOpenImageDenoise
:
total 51M
drwxrwxr-x 4 amir amir 4.0K Feb 9 10:14 apps
-rw-rw-r-- 1 amir amir 19K Feb 9 10:14 CMakeCache.txt
drwxrwxr-x 7 amir amir 4.0K Feb 9 10:19 CMakeFiles
-rw-rw-r-- 1 amir amir 5.6K Feb 9 10:14 cmake_install.cmake
-rw-rw-r-- 1 amir amir 2.5K Feb 9 10:17 color_ispc_avx2.h
-rw-rw-r-- 1 amir amir 2.5K Feb 9 10:17 color_ispc_avx512skx.h
-rw-rw-r-- 1 amir amir 3.1K Feb 9 10:17 color_ispc.h
-rw-rw-r-- 1 amir amir 2.5K Feb 9 10:17 color_ispc_sse4.h
drwxrwxr-x 3 amir amir 4.0K Feb 9 10:14 common
-rw-r--r-- 1 amir amir 3.3K Feb 9 10:14 CPackConfig.cmake
-rw-r--r-- 1 amir amir 3.7K Feb 9 10:14 CPackSourceConfig.cmake
-rw-rw-r-- 1 amir amir 2.6K Feb 9 10:17 input_reorder_ispc_avx2.h
-rw-rw-r-- 1 amir amir 2.6K Feb 9 10:17 input_reorder_ispc_avx512skx.h
-rw-rw-r-- 1 amir amir 3.1K Feb 9 10:17 input_reorder_ispc.h
-rw-rw-r-- 1 amir amir 2.6K Feb 9 10:17 input_reorder_ispc_sse4.h
-rw-rw-r-- 1 amir amir 41K Feb 9 10:14 libcommon.a
-rw-rw-r-- 1 amir amir 16M Feb 9 10:17 libdnnl.a
lrwxrwxrwx 1 amir amir 24 Feb 9 10:19 libOpenImageDenoise.so -> libOpenImageDenoise.so.0
lrwxrwxrwx 1 amir amir 28 Feb 9 10:19 libOpenImageDenoise.so.0 -> libOpenImageDenoise.so.1.3.0
-rwxrwxr-x 1 amir amir 34M Feb 9 10:19 libOpenImageDenoise.so.1.3.0
-rw-rw-r-- 1 amir amir 37K Feb 9 10:19 libutils.a
drwxrwxr-x 2 amir amir 4.0K Feb 9 10:17 local__core
-rw-rw-r-- 1 amir amir 104K Feb 9 10:14 Makefile
drwxrwxr-x 3 amir amir 4.0K Feb 9 10:14 mkl-dnn
-rwxrwxr-x 1 amir amir 181K Feb 9 10:19 oidnBenchmark
-rwxrwxr-x 1 amir amir 59K Feb 9 10:19 oidnDenoise
-rwxrwxr-x 1 amir amir 882K Feb 9 10:19 oidnTest
-rw-r--r-- 1 amir amir 1.6K Feb 9 10:14 OpenImageDenoiseConfigVersion.cmake
-rw-rw-r-- 1 amir amir 1.5K Feb 9 10:17 output_copy_ispc_avx2.h
-rw-rw-r-- 1 amir amir 1.5K Feb 9 10:17 output_copy_ispc_avx512skx.h
-rw-rw-r-- 1 amir amir 1.9K Feb 9 10:17 output_copy_ispc.h
-rw-rw-r-- 1 amir amir 1.5K Feb 9 10:17 output_copy_ispc_sse4.h
-rw-rw-r-- 1 amir amir 2.5K Feb 9 10:17 output_reorder_ispc_avx2.h
-rw-rw-r-- 1 amir amir 2.5K Feb 9 10:17 output_reorder_ispc_avx512skx.h
-rw-rw-r-- 1 amir amir 3.1K Feb 9 10:17 output_reorder_ispc.h
-rw-rw-r-- 1 amir amir 2.5K Feb 9 10:17 output_reorder_ispc_sse4.h
-rw-rw-r-- 1 amir amir 1.5K Feb 9 10:17 upsample_ispc_avx2.h
-rw-rw-r-- 1 amir amir 1.5K Feb 9 10:17 upsample_ispc_avx512skx.h
-rw-rw-r-- 1 amir amir 1.8K Feb 9 10:17 upsample_ispc.h
-rw-rw-r-- 1 amir amir 1.5K Feb 9 10:17 upsample_ispc_sse4.h
drwxrwxr-x 2 amir amir 4.0K Feb 9 10:17 weights
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。