如何包含draco_dec库? 我想把DRACO库包含在C++项目中,我在Ubuntu上用CGuess构建了DRACO。当我尝试添加任何draco标题时,我会看到“包含错误”。 我试着编译头文件,这个命令对一些drace头文件有效,但没有找到很多 g++ -I "\\wsl$\Ubuntu\home\antmedia\draco\src\draco" ObjContainer.cpp
错误: 没有这样的文件或目录#包括“draco/compression/config/compression_shared.h” 我在draco自述中看到了这一点,但我没有理解 “如果您想将解码添加到应用程序中,则需要包括draco_dec库。" 这意味着什么?我如何添加draco_dec Library 之后,尝试-v:如何包含draco_dec库? 我想把DRACO库包含在C++项目中,我在Ubuntu上用CGuess构建了DRACO。当我尝试添加任何draco标题时,我会看到“包含错误”。 我试着编译头文件,这个命令对一些drace头文件有效,但没有找到很多 g++ -I "\\wsl$\Ubuntu\home\antmedia\draco\src\draco" ObjContainer.cpp,c++,ubuntu,windows-subsystem-for-linux,C++,Ubuntu,Windows Subsystem For Linux,错误: 没有这样的文件或目录#包括“draco/compression/config/compression_shared.h” 我在draco自述中看到了这一点,但我没有理解 “如果您想将解码添加到应用程序中,则需要包括draco_dec库。" 这意味着什么?我如何添加draco_dec Library 之后,尝试-v: Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.5.0-3ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
COLLECT_GCC_OPTIONS='-I' '~localinclude' '-L~locallib' '-o' 'prog' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/7/cc1plus -quiet -v -I ~localinclude -imultiarch x86_64-linux-gnu -D_GNU_SOURCE ObjContainer.cpp -quiet -dumpbase ObjContainer.cpp -mtune=generic -march=x86-64 -auxbase ObjContainer -version -fstack-protector-strong -Wformat -Wformat-security -o /tmp/cci0iuOa.s
GNU C++14 (Ubuntu 7.5.0-3ubuntu1~18.04) version 7.5.0 (x86_64-linux-gnu)
compiled by GNU C version 7.5.0, GMP version 6.1.2, MPFR version 4.0.1, MPC version 1.1.0, isl version isl-0.19-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/7"
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/7/../../../../x86_64-linux-gnu/include"
ignoring nonexistent directory "~localinclude"
#include "..." search starts here:
#include <...> search starts here:
/usr/include/c++/7
/usr/include/x86_64-linux-gnu/c++/7
/usr/include/c++/7/backward
/usr/lib/gcc/x86_64-linux-gnu/7/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
GNU C++14 (Ubuntu 7.5.0-3ubuntu1~18.04) version 7.5.0 (x86_64-linux-gnu)
compiled by GNU C version 7.5.0, GMP version 6.1.2, MPFR version 4.0.1, MPC version 1.1.0, isl version isl-0.19-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 3eb3dc290cd5714c3e1c3ae751116f07
In file included from ObjContainer.cpp:11:0:
ObjContainer.h:11:10: fatal error: draco/compression/encode.h: No such file or directory
#include "draco/compression/encode.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
使用内置规格。
收集\u GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/LTO WRAPPER
卸载\u目标\u名称=nvptx无
卸载\目标\默认值=1
目标:x86_64-linux-gnu
配置为:../src/configure-v--with-pkgversion='Ubuntu 7.5.0-3ubuntu1~18.04'--with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs -启用语言= C、艾达、C++、Go、Brg、d、fortran、Objc、Obj-C++ +前缀=/UR——仅使用GCC主版本-程序后缀=-7——程序前缀=X86Y664-LIUX-GNU-启用共享-启用链接器构建ID -LIbExRIDir=/usr/lib——不包括gettext——enable threads=posix——libdir=/usr/lib——enable nls——enable bootstrap——enable clocale=gnu——enable libstdcxx debug——enable libstdcxx time=yes——默认libstdcxx abi=new——enable gnu unique object——enable vtable verify——enable libmpx——enable plugin——enable default pie——with system zlib——with-目标系统zlib--enable-objc gc=auto--enable-multiarch--disable-werror--with-arch-32=i686--with-abi=m64--with-multilib list=m32、m64、mx32--enable-multilib--with-tune=generic--enable offload targets=nvptx none--with-cuda驱动程序--enable-checking=release--build=x86_64-linux-gnu--host=x86_64-linux-gnu--target x86_
线程模型:posix
gcc版本7.5.0(Ubuntu 7.5.0-3ubuntu1~18.04)
COLLECT\u GCC\u OPTIONS='-I'~localinclude'-L~locallib'-o'-prog'-v'-shared libgcc'-mtune=generic'-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/7/cc1plus-quiet-v-I~localinclude-imultimarch x86_64-linux-gnu-D_gnu_-SOURCE ObjContainer.cpp-quiet-dumpbase ObjContainer.cpp-mtune=generic-march=x86-64-auxbase ObjContainer-version-fstack-protector-strong-Wformat-Wformat-Wformat-security-o/tmp/cci0iuOa.s
GNU C++14(Ubuntu 7.5.0-3ubuntu1~18.04)7.5.0版(x86_64-linux-GNU)
由GNU C版本7.5.0、GMP版本6.1.2、MPFR版本4.0.1、MPC版本1.1.0、isl版本isl-0.19-GMP编制
GGC启发式:--param GGC min expand=100--param GGC min heapsize=131072
忽略重复目录“/usr/include/x86_64-linux-gnu/c++/7”
忽略不存在的目录“/usr/local/include/x86_64-linux-gnu”
忽略不存在的目录“/usr/lib/gcc/x86_64-linux-gnu/7/../../../../../../../x86_64-linux-gnu/include”
忽略不存在的目录“~localinclude”
#包括“…”搜索从这里开始:
#包括搜索从这里开始:
/usr/include/c++/7
/usr/include/x86_64-linux-gnu/c++/7
/usr/include/c++/7/backward
/usr/lib/gcc/x86_64-linux-gnu/7/include
/usr/本地/包括
/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed
/usr/include/x86_64-linux-gnu
/usr/包括
搜索列表结束。
GNU C++14(Ubuntu 7.5.0-3ubuntu1~18.04)7.5.0版(x86_64-linux-GNU)
由GNU C版本7.5.0、GMP版本6.1.2、MPFR版本4.0.1、MPC版本1.1.0、isl版本isl-0.19-GMP编制
GGC启发式:--param GGC min expand=100--param GGC min heapsize=131072
编译器可执行校验和:3eb3dc290cd5714c3e1c3ae751116f07
在ObjContainer.cpp中包含的文件中:11:0:
ObjContainer.h:11:10:致命错误:draco/compression/encode.h:没有这样的文件或目录
#包括“draco/compression/encode.h”
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
编译终止。
查看项目的源代码树,我认为您只是弄错了路径;实际上没有像draco/src/draco/draco/compression这样的目录
您已经在#include
指令中指定了draco
子目录,因此将其从include路径中移除:
g++ -I "\\wsl$\Ubuntu\home\antmedia\draco\src" ObjContainer.cpp
为方便起见,请将下载的库安装在保存您下载并编译的所有库的目录中。首先创建这样一个目录。示例:
mkdir~/local
然后,您需要在生成之前将Draco项目配置为安装在该位置。在Draco/build\u dir
目录中,执行以下操作:
cmake-DCMAKE\u INSTALL\u PREFIX=~/local..
执行上面的cmake
后,您应该make
(或make-j
以加快构建过程)来构建库,您可以将其与同时安装结果结合起来:
make-j安装
Draco创建了三个库:
- 德拉科
- 数字编解码器
- 德拉肯
README
中提到的draco_dec
可能是一个旧名称(或打字错误),因此在g++
行末尾添加编译器选项-ldracodec
,以包含dracodec
编译自己的代码时。添加-I
指向新创建的include
目录,添加-L
指向存储新创建库的位置:
g++-I”\\wsl$\Ubuntu\home\antmedia\local\include“-L”\\wsl$\Ubuntu\home\antmedia\local\lib“-o prog ObjContainer.cpp-ldracodec
只有当您试图从Windows(例如CMD.EXE
窗口)访问wsl
目录时,才应使用\\wsl$
路径。如果您试图从wsl
中编译ObjContainer.cpp
,请改为编译您自己的代码:
g++-I~/local/include-L~/local/lib-o prog ObjContainer.cpp-ldracodec
通过始终安装