Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OSX上的libxml2和libxml2开发_C++_Macos - Fatal编程技术网

C++ OSX上的libxml2和libxml2开发

C++ OSX上的libxml2和libxml2开发,c++,macos,C++,Macos,在尝试构建Unix QuickFIX引擎时,在./bootstrap之后出现以下错误 warning:macro 'AM_PATH_XML2' not found in library 据我所知,libxml2已经随XCode OS X Mountain Lion提供。我找到的一个答案建议下载libxml2 dev,尽管我找不到使用自制的软件包。 我对在OS X和Xcode上编程以及移植Unix应用程序比较陌生,所以我还不确定自己到底做了什么。该警告来自Autoconf,并抱怨配置。中的文件指

在尝试构建Unix QuickFIX引擎时,在./bootstrap之后出现以下错误

warning:macro 'AM_PATH_XML2' not found in library
据我所知,libxml2已经随XCode OS X Mountain Lion提供。我找到的一个答案建议下载libxml2 dev,尽管我找不到使用自制的软件包。

我对在OS X和Xcode上编程以及移植Unix应用程序比较陌生,所以我还不确定自己到底做了什么。

该警告来自Autoconf,并抱怨
配置。
中的文件指的是宏
AM_PATH_XML2
,但它没有定义。它应该在quickfix源代码的文件
aclocal.m4
中定义,因此您的autoconf版本似乎找不到它。 您可以尝试修改
bootstrap
以运行
autoconf-I。

我做了一个

brew install libxml2
然后我在
/usr/local/ceral/libxml2/2.8.0/share/aclocal/libxml.m4
中找到了宏
AM_PATH_XML2
。这是所有开发包的内容,然后我将其与本地运行良好的Ubuntu/Vagrant虚拟机进行比较,并记住:

brew link --force libxml2
将符号链接置于
/usr/local/share/aclocal

现在我正在建设,但我也需要汽车制造商,所以我要回顾一下

brew install automake autoconf libtool libxml2                                                            
brew link libxml2       

我只是在我的mac电脑上遇到了这个问题。在使用
brew安装libxml2
安装后,我通过为
libxml.m4
创建符号链接,克服了此错误

ln -s /usr/local/opt/libxml2/share/aclocal/libxml.m4 /usr/local/share/aclocal/libxml.m4
我意识到这个问题是7年前提出的,但我花了一段时间才拼凑出这个解决方案。我希望有帮助。我能够在运行
aclocal
时重现问题。配置时出错。ac:38:警告:在库中找不到宏“AM_PATH_XML2”。然后我运行了
aclocal--print ac dir
,返回
/usr/local/cillar/automake/1.16.1\u 1/share/aclocal
。该目录包含一个
dirlist
文件

cat /usr/local/Cellar/automake/1.16.1_1/share/aclocal/dirlist 
/usr/local/share/aclocal
/usr/share/aclocal
第一个目录包含所有其他符号链接

ls -al /usr/local/share/aclocal
lrwxr-xr-x   1 cameron  admin   48 Sep 20 08:39 cmake.m4 -> ../../Cellar/cmake/3.15.3/share/aclocal/cmake.m4
lrwxr-xr-x   1 cameron  admin   52 Sep 20 09:01 dirlist -> ../../Cellar/automake/1.16.1_1/share/aclocal/dirlist
lrwxr-xr-x   1 cameron  admin   53 Sep 20 09:02 libtool.m4 -> ../../Cellar/libtool/2.4.6_1/share/aclocal/libtool.m4
lrwxr-xr-x   1 cameron  admin   52 Sep 20 09:02 ltargz.m4 -> ../../Cellar/libtool/2.4.6_1/share/aclocal/ltargz.m4
lrwxr-xr-x   1 cameron  admin   50 Sep 20 09:02 ltdl.m4 -> ../../Cellar/libtool/2.4.6_1/share/aclocal/ltdl.m4
lrwxr-xr-x   1 cameron  admin   55 Sep 20 09:02 ltoptions.m4 -> ../../Cellar/libtool/2.4.6_1/share/aclocal/ltoptions.m4
lrwxr-xr-x   1 cameron  admin   53 Sep 20 09:02 ltsugar.m4 -> ../../Cellar/libtool/2.4.6_1/share/aclocal/ltsugar.m4
lrwxr-xr-x   1 cameron  admin   55 Sep 20 09:02 ltversion.m4 -> ../../Cellar/libtool/2.4.6_1/share/aclocal/ltversion.m4
lrwxr-xr-x   1 cameron  admin   57 Sep 20 09:02 lt~obsolete.m4 -> ../../Cellar/libtool/2.4.6_1/share/aclocal/lt~obsolete.m4
lrwxr-xr-x   1 cameron  admin   51 Aug 27 20:15 pkg.m4 -> ../../Cellar/pkg-config/0.29.2/share/aclocal/pkg.m4
按照这种模式,我本可以做到:

ln -s /usr/local/Cellar/libxml2/2.9.9_2/share/aclocal/libxml.m4 /usr/local/share/aclocal/libxml.m4
但是我选择了使用这个符号链接,所以这个答案适用于不同的版本

ls -al /usr/local/opt/libxml2
lrwxr-xr-x  1 cameron  admin  25 Sep 20 09:35 /usr/local/opt/libxml2 -> ../Cellar/libxml2/2.9.9_2

XML肯定不是修复消息的要求。除非您的交易对手没有使用FIX 4.2,否则您应该能够忽略此警告