Boost Build-for building graphml中针对libexpat的链接存在问题

Boost Build-for building graphml中针对libexpat的链接存在问题,boost,boost-build,graphml,Boost,Boost Build,Graphml,在我的系统中,expat位于 /usr/include/expat.h /usr/include/expat_external.h /usr/lib/libexpat.1.5.0.dylib /usr/lib/libexpat.1.dylib /usr/lib/libexpat.dylib /usr/lib/libexpat.la /usr/include/expat.h /usr/include/expat_external.h /usr/lib/libexpat.1.5.0.dylib /u

在我的系统中,expat位于

/usr/include/expat.h /usr/include/expat_external.h /usr/lib/libexpat.1.5.0.dylib /usr/lib/libexpat.1.dylib /usr/lib/libexpat.dylib /usr/lib/libexpat.la /usr/include/expat.h /usr/include/expat_external.h /usr/lib/libexpat.1.5.0.dylib /usr/lib/libexpat.1.dylib /usr/lib/libexpat.dylib /usr/lib/libexpat.la 因此,我导出boost构建graphml所需的变量

export EXPAT_INCLUDE=/usr/INCLUDE 导出EXPAT_LIBPATH=/usr/lib 然后我运行(其中$DIR和$BOOST生成我希望include和lib走的路径)

./configure--includedir=$DIR/$BOOST--libdir=$DIR/$BOOST/lib\ --使用库=测试、图形 我得到这个错误:

ld: library not found for -lexpat collect2: ld returned 1 exit status 找不到的ld:库-lexpat collect2:ld返回1退出状态 boost说这是由线路引起的:

g++ -dynamiclib -install_name "libboost_graph-mt-1_35.dylib" -L"/usr/lib" -o "bin.v2/libs/graph/build/darwin/release/macosx-version-10.4/threading-multi/libboost_graph-mt-1_35.dylib" "bin.v2/libs/graph/build/darwin/release/macosx-version-10.4/threading-multi/read_graphviz_spirit.o" "bin.v2/libs/graph/build/darwin/release/macosx-version-10.4/threading-multi/graphml.o" -lexpat -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -Wl,-dead_strip -no_dead_strip_inits_and_terms g++-dynamiclib-install_name“libboost_graph-mt-1_35.dylib”-L”/usr/lib -o“bin.v2/libs/graph/build/darwin/release/macosx-version-10.4/threading multi/libboost\u graph-mt-1\u 35.dylib” “bin.v2/libs/graph/build/darwin/release/macosx-version-10.4/threading multi/read_graphviz_spirit.o” “bin.v2/libs/graph/build/darwin/release/macosx-version-10.4/threading multi/graphml.o” -lexpat-isysroot/Developer/SDKs/MacOSX10.4u.sdk-mmacosx版本min=10.4-Wl,-无效条带-无无效条带和初始条带 我不明白为什么找不到带有
-L”/usr/lib“
-lexpat
作为参数的expat库?我的理解是/usr/lib/libexpat.dylib被准确地引用为
-L”/usr/lib“
-lexpat

用于构建graphml的JAML文件是。如果未设置
EXPAT\u INCLUDE
EXPAT\u LIBPATH
,则会向您发出警告(文件第39-41行)

警告:图形库不包含可选的GraphML读取器。
注意:要启用图形支持,请设置EXPAT_INCLUDE和
注意:分别包含Expat头和库的目录


另一个更新: 我在你的外派人员所在地列表中没有看到.so或.a文件。。。这不是有点奇怪吗?通常,它会为库名称创建别名

例如/usr/lib/libblah.so->/usr/lib/libblah.so.1.2

dynalib是Macintoshism吗(我不太使用Macs)

.la是这个平台上的静态版本扩展吗

更新:

路径周围的引号似乎很麻烦。。。 -L“/usr/lib”

尝试将此更改为-L/usr/lib和-L/usr/lib

旧的东西:


链接器在链接步骤中包含路径的指令是-L。您需要查找一些链接器标志以更新为包含-L path_to_expat。我不认为链接器会注意LD_LIBRARY_PATH。我不确定您阅读了哪些文档来设置EXPAT_INCLUDE或EXPAT_LIBPATH

另一个更新: 我在你的外派人员所在地列表中没有看到.so或.a文件。。。这不是有点奇怪吗?通常,它会为库名称创建别名

例如/usr/lib/libblah.so->/usr/lib/libblaah.so.1.2

dynalib是Macintoshism吗(我不太使用Macs)

.la是这个平台上的静态版本扩展吗

更新:

路径周围的引号似乎很麻烦。。。 -L“/usr/lib”

尝试将其更改为-L/usr/lib和-L/usr/lib

老东西:


链接器在链接步骤中包含路径的指令是-L。您需要查找一些链接器标志以更新为包含-L path_to_expat。我不认为链接器会注意LD_LIBRARY_PATH。我不确定您阅读了哪些文档来设置EXPAT_INCLUDE或EXPAT_LIBPATH

这是Jamfile(构建文件),它告诉我设置EXPAT_INCLUDE和EXPAT_LIBPATH。该站点的ssl证书已过期:(。我不允许在我所在的计算机上使用严格的设置来阅读它。我认为如果你剪切并粘贴最后一行并使用-Wl(我认为这是您可以手动编译的链接器选项。为什么他们让我设置shell变量,而不是像您为--libdir所做的那样将路径作为参数传递进来?在开源社区中,项目之间相互依赖有一些奇怪的传统。当构建依赖于lib的Perl模块时我花了好几天的时间弄清楚模块是如何发出、检测和配置它们的库路径和链接器选项的。是的,dylib是mac动态库后缀。而且,jamfile在引号中加了-L路径,所以除了手动运行gcc命令之外,我不知道如何解决这个问题-就像你提到的,这是jamfile(构建文件)告诉我设置EXPAT\u INCLUDE和EXPAT LIBPATH站点具有过期ssl证书:(。我不允许使用我正在打开的计算机上的严厉设置读取它。我认为如果您剪切并粘贴最后一行并使用-Wl(我认为这是您可以手动编译的链接器选项。为什么他们让我设置shell变量,而不是像您为--libdir所做的那样将路径作为参数传递进来?在开源社区中,项目之间相互依赖有一些奇怪的传统。当构建依赖于lib的Perl模块时我花了好几天的时间弄清楚模块是如何发出、检测和配置它们的库路径和链接器选项的。是的,dylib是mac动态库后缀。而且,jamfile在引号中加了-L路径,所以除了手动运行gcc命令之外,我不知道如何解决这个问题-就像你提到的,我想你正在尝试g是否创建稳定的构建过程?您可能不想尝试在其他几个位置创建指向库的符号链接,以查看它是否找到库?我认为您正在尝试创建稳定的构建过程?您可能不想尝试在其他几个位置创建指向库的符号链接,以查看它是否找到库? ld: library not found for -lexpat collect2: ld returned 1 exit status g++ -dynamiclib -install_name "libboost_graph-mt-1_35.dylib" -L"/usr/lib" -o "bin.v2/libs/graph/build/darwin/release/macosx-version-10.4/threading-multi/libboost_graph-mt-1_35.dylib" "bin.v2/libs/graph/build/darwin/release/macosx-version-10.4/threading-multi/read_graphviz_spirit.o" "bin.v2/libs/graph/build/darwin/release/macosx-version-10.4/threading-multi/graphml.o" -lexpat -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -Wl,-dead_strip -no_dead_strip_inits_and_terms