我正在尝试在共享主机上构建libtorrent
。因此使用--prefix=$HOME
构建了CPPUnit(1.12.1)。之后,我的$HOME/lib
和$HOME/include
包含CPPUnit库和标头。
我导出了LD_
路径
export LD_LIBRARY_PATH=$HOME/lib:$LD_LIBRARY_PATH
export LD_INCLUDE_PATH=$HOME/include:$LD_INCLUDE_PATH
然后我运行libtorrent/autogen.sh --prefix=$HOME
并收到以下警告,这阻止我运行configure:
aclocal...
aclocal:configure.ac:20: warning: macro `AM_PATH_CPPUNIT' not found in library
cppunit.m4文件位于$ HOME / share / aclocal中。我猜libtorrent
由于某种原因无法找到该目录。
答案 0 :(得分:41)
你需要做一个apt-get install libcppunit-dev
答案 1 :(得分:4)
您在非系统位置安装了CPPUnit,默认情况下没有搜索到,所以奇怪的是,在libtorrent构建中运行aclocal时,它不知道在那里看。您可以tell aclocal where to look with -I我确信您可以通过中间的autogen.sh找到一种方法。
答案 2 :(得分:1)
我尝试在互联网上找到的每一种方法。但只有在了解根本原因后才能最终修复它。
1. AM_PATH_CPPUNIT在cppunit.m4中声明。发生错误是因为找不到cppunit.m4。
2.command" aclocal --version "找出版本。即aclocal-1.15。
3.command" 查找/ | grep aclocal-1.15 "找出lib的地方。即/usr/local/share/aclocal-1.15
4.command" find / | grep cppunit.m4"确保你有一个cppunit.m4。如果没有,请命令" yum list * cppunit *"并安装列出的包。重复当前步骤。
5.将cppunit.m4复制到上面提到的aclocal lib路径。
6.再次运行,错误消失。
答案 3 :(得分:1)
我偶然发现了该页面,试图遵循默认的cppunit Money tutorial。按照@Carlo Wood的规定
这不再起作用。从libcppunit-dev中删除了cppunit.m4。
这是真的,我遵循下一个答案无济于事,没有ProgramName_LDADD = -lcppunit
,错误是您甚至不需要AM_PATH_CPPUNIT,只需使用
ProgramName_LDFLAGS = $(CPPUNIT_LIBS)
代替Makefile.am
此外,我不知道其余TESTS = MoneyApp
bin_PROGRAMS = $(TESTS)
MoneyApp_SOURCES = ...
MoneyApp_CXXFLAGS = $(CPPUNIT_CFLAGS)
MoneyApp_LDADD = -lcppunit
是否确实必要,这是我最终使用的Makefile
Makefile.am
AC_INIT([MoneyApp], 1.0)
AM_INIT_AUTOMAKE
AC_PROG_CC
AC_PROG_CXX
AC_CONFIG_FILES(Makefile)
AC_OUTPUT
和config.ac
import json, re
instrumentList=["44433141537", "192797680391", "192773331481", "44433141641", "44434295873"]
escapedInstrumentList= {re.sub('"', '/"', json.dumps(instrumentList)) }
print(escapedInstrumentList)
希望这对将来的人有所帮助。
答案 4 :(得分:0)
在Windows中使用MSYS2构建libtorrent时遇到了同样的问题。
安装的cppunit
包和autogen.sh
步骤已完成无误。
pacman -S mingw-w64-x86_64-cppunit
或32位:
pacman -S mingw-w64-i686-cppunit
同样用于构建libtorrent
Windows MSYS使用--disable-mincore
运行configure:
./configure --disable-mincore