首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ubuntu gcc编译时对’xxxx’未定义的引用问题

http://www.cnblogs.com/oloroso/p/4688426.html gcc编译时对’xxxx’未定义的引用问题 原因 解决办法 gcc 依赖顺序问题 在使用gcc编译的时候有时候会碰到这样的问题...,编译为.o(obj) 文件没有问题,但是编译(这一步应该是链接)为可执行文件的时候会出现找不到’xxx’的定义的情况。...):对‘dlsym’未定义的引用 dso.cpp:(.text+0xb5):对‘dlerror’未定义的引用 dso.cpp:(.text+0x13e):对‘dlclose’未定义的引用 原因 出现这种情况的原因...但是在链接为可执行文件的时候就必须要具体的实现了。如果错误是未声明的引用,那就是找不到函数的原型,解决办法这里就不细致说了,通常是相关的头文件未包含。...但是看上面编译的时候是有添加-ldl选项的,那么为什么不行呢? gcc 依赖顺序问题 这个主要的原因是gcc编译的时候,各个文件依赖顺序的问题。

8.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Apache多虚拟主机多版本PHP(5.3+5.6+N)共存运行配置全过程

    经常在web开发上用到的也就是FastCGI和Module handle这种模块加载的方式,还有一些其他的配置方式细节本文不再提及,请在文末寻找相关文章进行查阅。...安装服务基础组件 安装编译相关依赖 yum install httpd-devel apr apr-devel libtoo 2.pr: tar xf apr-1.5.2.tar.bz2 cd apr-...编译安装httpd  ...." 编译安装完成之后会自动将其编入httpd目录下的modules里面 在这里需要说明下,使用apxs -i -a -c mod_fcgid.so 去安装的话会出现一些问题,导致httpd加载conf的时候终止进行...使用mod_fcgid高于2.3.6版本以上,如2.3.9(官网提供的版本)经测试,在httpd2.4.23、httpd2.2.31都会出现一个未定义符号错误,内容如下: undefined symbol

    2.2K60

    LAMP环境搭建

    目前使用较多的版本是2.2或2.4,两个版本的安装大同小异,配置也差别不大。不过2.4版本有一个比较麻烦的事情就是需要手动编译安装apr以及apr-util包。...[all-recursive] Error 1 可以通过下面的办法解决: 把解压好的apr和apr-util 复制到 /httpd-2.4.34/srclib/ 中去 # cp -r apr-1.6.1...# make # make install 因为我的CENTOS 是 64bit的,如果在编译配置没有指定 —with-included-apr的具体引用路径,导致找不到相应的库文件,而 —with-included-apr...默认是查找/usr/lib下的库文件,而,正确的引用应该是/usr/lib64下的。...启动httpd的命令如下: #/usr/local/apache2.4/bin/apachectl start 查看是否启动的命令如下: # netstat -lnp | grep httpd tcp6

    1.6K20

    统一认证之Ldap

    它通常被用于关联各个平台或服务,达到统一身份认证的效果,一个账号和密码即可登陆各个平台,避免了一个用户在多个平台使用不同账号和密码,避免了人员流动导致的账号的创建和注销的流程相对复杂的问题; 2.0 环境...olcRootPW+第一步生成的密码,“:” 和密码之间有空格 # AUTO-GENERATED FILE - DO NOT EDIT!!...@VM-0-7-centos ~]# cat /etc/httpd/conf.d/phpldapadmin.conf # # Web-based tool for managing LDAP servers...restart httpd systemctl enable httpd http://82.157.124.172/phpldapadmin # 登陆,输入基础数据库ldif文件中配置的dn或cn...不同平台创建不同的组,将账户添加到相应的组,一个账户可有多个组,使一个账户和密码可登陆多个平台。 # 到这一步通常是配置完了。

    2.1K33

    编译安装最新版httpd-2.4

    (匹配客户端的IP地址) 对于基于IP的访问控制做了修改,不再支持allow,deny,order机制,而是统一使用require进行 CentOS 6.5编译安装httpd-2.4.7  http:/...httpd2.4所依赖的软件包 httpd2.4依赖于更高版本的apr和apr-util,apr全称为apache portable runtime(apache可运行时移值)。...如果在win和linux上安装上apr后,Apache的同一个代码,即可以在win上运行也可在linux上运行; 1.安装apr-1.5.0.tar.bz2 wget http://archive.apache.org...    httpd-manual.conf    httpd-ssl.conf                proxy-html.conf 三、安装后所需配置;     1、导出头文件;以目录链接的形式来实现...下篇将介绍httpd2.4基本功能的实现... http://www.linuxidc.com/Linux/2014-03/98762.htm

    59220

    Apache配置压缩优化时报错——undefined symbol: inflateEnd

    Apache配置压缩优化时报错——undefined symbol: inflateEnd 环境:CentOS 6.4    软件版本:httpd-2.4.6 apr-1.4.8 apr-util-1.5.2...问题处理办法: 1、首先检查了httpd.conf和httpd-vhosts.conf里面的配置,均无错误;然后又查看了编译mod_deflate时的输出信息,也没有提示错误。...3、接着我在google下面找到了以前也遇到过相似问题的人,他们是在apr的主配置文件apr-1-config(老版本可能是apr-conf)里面将LDFLAGS="" 修改为 LDFLAGS="-lz...CXXFLAGS 表示用于 C++ 编译器的选项。 这两个变量实际上涵盖了编译和汇编两个步骤。...不过使用时链接阶段这两个参数都会加上,所以你即使将这两个的值互换,也没有问题。

    71310

    LAMP搭建和配置

    Apache是最常用的Web服务软件,而MySQL是比较小型的数据库软件。三个角色可以安装在一台机器上,也可以分开(但httpd和php要在一起的) 为什么需要LAMP?...2.4.29.tar.gz ​ ③安装依赖库,如果不安装这两个依赖,httpd2.4就无法工作(如果是httpd2.2是不用手动安装的) ​ 安装apr: ​ cd /usr/local/src/apr...直接安装并不能解决问题,因为httpd调用的apr-util已经安装好了,但是apr-util并没有libxml2-devel包支持 ​ 解决办法: # 安装libxml2-devel包...重新编译安装httpd cd /usr/local/src/httpd-2.4.29 # 同样要清理之前的缓存十分重要 make clean ....的木目录结构和modules目录下的模块文件: ls /usr/local/apache2.4/ bin build cgi-bin conf error htdocs icons

    57350

    11.711.811.9 Apache安装

    //mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.bz2 apr和apr-util是一个通用的函数库,它让httpd可以不关心底层的操作系统平台,可以很方便地移植...版本) 2.2版本和2.4版本的区别 安装的方法不同,涉及到一个安依赖软件apr版本不一样 apr和apr-util是一个通用的函数库,它让httpd可以不关心底层的操作系统平台,可以很方便地进行移植...(从linux移植到windows) 2.2版本和2.4版本所依赖的apr版本是不同的 而centos系统,默认自带的apr,也就是yum安装的apr和2.4版本是不匹配的,所以无法使用yum安装的apr...,所以需要自己去手动编译 Apache2.4版本编译起来麻烦,就是因为需要手动编译 apr 和 apr-util 这两个包 安装过程 首先切换到/usr/local/src目录下 [root@hf-01...]# 在模块的右侧有小括号,里面是 static 或 shared ,static是静态 静态和动态的区别 静态是直接把模块编译进了主脚本或主二进制文件里面 http是一个核心文件,这个文件加载了哪些模块

    1.4K100

    MariaDB安装,Apache安装

    安装MariaDB和安装Mysql的步骤差不多,在这里也是使用二进制免编译包安装。...虽然我们都习惯把httpd称之为Apache,因为它早期的名称就叫Apache,但是现在它从2.0版本开始更名成了httpd,所以我们在下载安装包的时候要注意区分,现在的httpd的主流版本是2.4。...2.4版本依赖于apr和apr-util,这两个是一个通用的函数库。...使用wget下载这三个包: httpd2.4源码包下载地址: http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.27.tar.gz ?...static是静态模块,静态模块是编译进了httpd文件里的,和httpd成为了一体。shared则是扩展模块,这个扩展模块是一个文件,也就是那些后缀名为.so的文件。 启动Apache服务: ?

    7.3K20

    linux学习第三十六篇:MariaDB安装,Apache安装

    是一个基金会的名字,httpd才是我们要安装的软件包,早期它的名字就叫apache Apache官网www.apache.org 下载httpd和apr: wget http://mirrors.cnnic.cn...://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.bz2 apr和apr-util是一个通用的函数库,它让httpd可以不关心底层的操作系统平台,可以很方便地移植...PS:make编译的时候可能会出现下图的情况,把httpd,apr-util的源码包删了重新解压编译安装 ?...查看apache2.4目录下的文件: ls /usr/local/apache2.4/ bin:bin下的文件是可执行的二进制文件或命令,是核心的二进制文件,如httpd conf:配置文件所在的目录...查看加载的模块: /usr/local/apache2.4/bin/httpd -M ? static:静态,是直接把模块编译进了二进制文件httpd里。

    69880

    Linux下编译安装Apache httpd 2.4

    Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。...一、编译安装的优势 源码的编译安装一般由3个步骤组成: 配置(configure),通常依赖gcc编译器,binutils,glibc。...二、httpd的版本 版本: httpd-1.3 httpd-2.0 httpd-2.2 httpd-2.4 三、httpd 2.4的新特性 1) MPM支持运行时装载...修改了一些配置机制:不再支持使用order, allow, deny来实现基于IP的访问控制; 四、编译安装httpd 2.4 1、依赖关系 httpd依赖于apr, apr-util...apr全称为apache portable runtime,能实现httpd跨平台运行 httpd-2.4 依賴于1.4+及以上版本的apr apr-1.5.0.tar.bz2

    2.6K20
    领券