Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.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++ Makefile无法链接由C++;_C++_Makefile_Shared Libraries_Autotools - Fatal编程技术网

C++ Makefile无法链接由C++;

C++ Makefile无法链接由C++;,c++,makefile,shared-libraries,autotools,C++,Makefile,Shared Libraries,Autotools,Makefile包含创建libclamav的.la扩展名文件 libclamav_la_LIBADD=@LIBLTDL$(IFACELIBADD)$(LLVMLIBADD) libclamav_internal_utils.la@libclamav_LIBS@@THREAD_LIBS@@LIBM@ libclamav_la_DEPENDENCIES=@LTDLDEPS@$(IFACEDEP)$(LLVMDEP) libclamav_internal_utils.la libclamav_la_C

Makefile包含创建libclamav的.la扩展名文件

libclamav_la_LIBADD=@LIBLTDL$(IFACELIBADD)$(LLVMLIBADD) libclamav_internal_utils.la@libclamav_LIBS@@THREAD_LIBS@@LIBM@

libclamav_la_DEPENDENCIES=@LTDLDEPS@$(IFACEDEP)$(LLVMDEP) libclamav_internal_utils.la

libclamav_la_CFLAGS= -I../my\u include/src/wrapper-DSEARCH\u LIBDIR=\“$(LIBDIR)\”

libclamav_la_LDFLAGS=-L/usr/lib32-lOpenCL@TH_SAFE@-版本信息 @LIBCLAMAV_版本@-无未定义

我的观点是通过添加-L/My_shared_library_path/mylib.so到libclamav_la_LIBADD将共享库链接到Makefile

libclamav_la_LDFLAGS=-L/my_shared_library_path/-lmylib@TH_SAFE@-version info @LIBCLAMAV_版本@-无未定义

Makefile无法通过出现错误而喜欢成员函数名

../libclamav/.libs/libclamav.so:对“mylib.so中的成员函数”的未定义引用


您问题中引用的文本显然属于依赖pkg配置的自动确认打包的
Makefile.am
(或
Makefile.in
)中。如果这是
Makefile
中的文本,那么您还有很多问题要处理。由于
@LIBCLAMAV_LIBS@
已出现在
LIBCLAMAV_la_LIBADD
中,因此需要配置
pkg config
以发出适当的标志,以便在配置时找到库

将特定于机器的代码放入
Makefile.am
(或
Makefile.in
)中是不合适的。由于
my\u shared\u library\u path
特定于您的框,因此将相关标志添加到构建中的适当方法是通过
pkg config
或在
configure
期间添加到
CPPFLAGS
LDFLAGS
。(注意:
-I
标记在
autoconf
派生打包进入
CPPFLAGS
中,而不是
CFLAGS

如果确实运行了配置,请尝试:

configure ... LDFLAGS=-L/my/shared/library/path CPPFLAGS=-I/my_include/src/wraper

您能否使用这些标志在命令行上成功地执行链接(即不使用makefile)?