G++ 找不到已安装的库
g++ can't find installed library
我正在尝试编译一个需要所需库libmusicxml的示例文件。
我按照他们说的编译了这个库(cmake,make,make install),它制作并安装了一堆文件:
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/lib/libmusicxml2.so.3.00
-- Installing: /usr/local/lib/libmusicxml2.so
-- Installing: /usr/local/include/libmusicxml/musicxmlfactory.h
-- Installing: /usr/local/include/libmusicxml/sortvisitor.h
-- Installing: /usr/local/include/libmusicxml/xmlreader.h
... etc
现在我想编译他们的一个示例文件,所以我运行g+filename.cpp,它给了我以下错误:
libmusicxml.h: No such file or directory
这是否意味着它在/usr/local中看不到库?我可以在某个地方指定吗?设置路径或其他什么?
我已经确保从这里获得了libmusicxml库的最新版本,并做了同样的操作(cmake后面跟着make)。
当我去Give示例并尝试制作一个(使用提供的make文件,根据开发人员的工作原理)时,它不想这样做:
dorien@XP:~/bin/libmusicxml-master/samples$ make
gcc -g -O3 -Wall -Wuninitialized -I../src/elements -I../src/interface -I../src/files -I../src/lib -I../src/parser -I../src/visitors -I../src/guido -I../src/operations countnotes.cpp ../libmusicxml2.a -lstdc++ -o countnotes
gcc: error: ../libmusicxml2.a: No such file or directory
Makefile:14: recipe for target 'countnotes' failed
->我试图找到libmusicxml2.a,但它似乎并不存在。
当我运行xml2guido(它似乎在包的根目录中有一个编译版本)时,我得到:
xml2guido: error while loading shared libraries: libmusicxml2.so.3.00: cannot open shared object file: No such file or directory
但是,在同一目录中有一个libmusicxml2.so.3.00
也许是包裹链接不正确?还是关于丢失的文件?
我确实认为它是正确构建的:
make
[ 73%] Built target musicxml2
[ 75%] Built target RandomMusic
[ 78%] Built target countnotes
[ 80%] Built target partsummary
[ 82%] Built target readunrolled
[ 85%] Built target xml2guido
[ 87%] Built target xml2midi
[ 90%] Built target xmlclone
[ 92%] Built target xmlfactory
[ 95%] Built target xmliter
[ 97%] Built target xmlread
[100%] Built target xmltranspose
dorien@XP:~/bin/libmusicxml-master$ sudo make install
[ 73%] Built target musicxml2
[ 75%] Built target RandomMusic
[ 78%] Built target countnotes
[ 80%] Built target partsummary
[ 82%] Built target readunrolled
[ 85%] Built target xml2guido
[ 87%] Built target xml2midi
[ 90%] Built target xmlclone
[ 92%] Built target xmlfactory
[ 95%] Built target xmliter
[ 97%] Built target xmlread
[100%] Built target xmltranspose
Install the project...
-- Install configuration: ""
-- Up-to-date: /usr/local/lib/libmusicxml2.so.3.00
-- Up-to-date: /usr/local/lib/libmusicxml2.so
-- Up-to-date: /usr/local/include/libmusicxml/musicxmlfactory.h
-- Up-to-date: /usr/local/include/libmusicxml/sortvisitor.h
-- Up-to-date: /usr/local/include/libmusicxml/xmlreader.h
-- Up-to-date: /usr/local/include/libmusicxml/xmlfile.h
-- Up-to-date: /usr/local/include/libmusicxml/libmusicxml.h
-- Up-to-date: /usr/local/include/libmusicxml/unrolled_xml_tree_browser.h
-- Up-to-date: /usr/local/include/libmusicxml/xml.h
-- Up-to-date: /usr/local/include/libmusicxml/elements.h
-- Up-to-date: /usr/local/include/libmusicxml/factory.h
-- Up-to-date: /usr/local/include/libmusicxml/types.h
-- Up-to-date: /usr/local/include/libmusicxml/typedefs.h
-- Up-to-date: /usr/local/include/libmusicxml/xml_tree_browser.h
-- Up-to-date: /usr/local/include/libmusicxml/versions.h
-- Up-to-date: /usr/local/include/libmusicxml/exports.h
这是否意味着它在/usr/local中看不到库?
这意味着它没有找到标头libmusicxml.h
。您没有告诉编译器在/usr/local/include/libmusicxml
中查找它。
我可以在某个地方指定吗?设置路径或其他什么?
请参阅编译器的文档。在gcc中,包含搜索路径的选项是-I
。
与其从/usr/local/include/libmusicxml/
搜索标头libmusicxml.h
,我建议包括libmusicxml/libmusicxml.h
并从/usr/local/include
搜索。这将更简单,因为g++默认情况下从/usr/local/include
进行搜索,因此不需要编译器选项。
直到我运行,库(和标头)才被识别
export LD_LIBRARY_PATH=/addressto/libmusicxml-master
这就解决了问题。
- NPM 安装:找不到平台工具集 = v141
- 尽管安装了gtkmm,但在MinGW中找不到
- 安装CMake后,我找不到带有"find_package"的软件包
- vcpkg 在安装软件包时找不到 cmake.cmd
- 安装生成工具后找不到Visual Studio代码MSVC cl.exe
- 我刚刚安装了Visual Studio,遇到了一些错误,特别是WindowsSDKDir属性未定义.可能找不到某些生成工
- 节点 SASS 安装找不到已安装msvs_version
- 安装 gRPC : ld: 警告: 找不到选项 '-L/<path>/grpc/libs/opt/c-ares' 的目录
- cmake 找不到随 vcpkg 一起安装的库
- -LMSVCR90在包装安装过程中找不到
- qmake:找不到Qt安装
- 加速安装失败:系统找不到指定的路径
- Caffe 安装问题,远程服务器,ld 找不到 -<package>
- 为什么安装 VSTS 2010 SP1 后找不到 Ws2_32.lib
- 已安装 Cygwin64,但在<iostream>日食中找不到未解析的包含内容
- 找不到随 MacPort 一起安装的库
- "g++" 在 PATH 中找不到 [mac/Eclipse/XCODE 已安装/CDT 已下载]
- 在Windows 10上安装的Cuda toolkit v7.5上找不到deviceQuery
- /usr/local/include/tk.h:71:13:致命错误:安装 Python 库时找不到'X11/Xlib.h'文件
- 为什么 g++ 找不到已安装的系统包含