我写了一个简单的程序来测试xdotool是否能满足我的要求. (嗯,不是真的.我的第一步是确保我是否可以调用xdotool库.)

#include

#include

using namespace std;

int main(){

cout << xdo_version() << endl;

xdo_new(NULL);

return 0;

}

但是,当我使用g -o a main.cpp libxdo.a -lXtst -lX11 -lXinerama -I ../test/xdotool-2.20110530.1编译它时,我收到以下错误消息:

/tmp/ccW95RQx.o: In function `main':

main.cpp:(.text+0x5): undefined reference to `xdo_version()'

main.cpp:(.text+0x29): undefined reference to `xdo_new(char*)'

collect2: error: ld returned 1 exit status

make: *** [sendkey] Error 1

我没有使用apt-get install的开发包,因为它安装了一个动态库.所以,我做了一个apt-get源并自己构建了库.我通过执行以下命令验证了xdo_version和xdo_new是静态库中定义的函数:

$nm libxdo.a | grep xdo_version

00000000000002b0 T xdo_version

$nm libxdo.a | grep xdo_new

0000000000004070 T xdo_new

0000000000003c90 T xdo_new_with_opened_display

如果我没有弄错,除了符号名称之外的T意味着该函数已被定义.

总之,我试图让上面的C片段成功编译并静态链接到xdotool但是遇到了一些如上所述的错误.

g linux 未定义的引用_linux – 链接到静态库后的未定义引用相关推荐

  1. 【Linux】磁盘结构/文件系统/软硬链接/动静态库

    文章目录 前言 一.磁盘结构 1.磁盘的物理结构 2.磁盘的存储结构 3.磁盘的逻辑结构 二.文件系统 1.对 IO 单位的优化 2.磁盘分区与分组 3.对分组的具体管理方法 4.文件操作 三.软硬链 ...

  2. x64 编译 静态链接_C++静态库与动态库

    这次分享的宗旨是--让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书<程序员的自 ...

  3. qt_cannot find -lxxx, 链接动态/静态库失败

    LIBS += -L./lib/ -lxxx 链接动态/静态库 如果报错cannot find -lxxx, 关闭shadow build

  4. Linux命令【三】gcc编译+静态库+动态库+makefile+gdb调试

    用C编译器编译源文件:gcc 源文件 -o 可执行文件名 详细步骤: gcc -E a.c -o a.i预处理器将头文件展开,宏替换,去掉注释 gcc -S a.i -o a.s编译器将C文件变成汇编 ...

  5. 动态库链接boost静态库

    为了避免项目布署麻烦,需要将执行文件尽量静态链接 1. boost库全部静态链接 2. c++库静态链接 1,2点的改变如下,强制链静态库的方法为参数下为-l:libXXXX.a; 对于boost l ...

  6. opencv4android编译静态库,Android Studio链接OpenCV静态库

    目前我正在开发一个使用OpenCV3进行实时视频处理(应用一组彩色滤镜)的项目,我设法让它与 Java一起使用而没有任何问题. 我接下来要做的是通过NDK将所有Java逻辑实现到C(以提高性能).这样 ...

  7. linux g++ 链接,Linux G++将64位共享库代码链接到静态库

    如果对象模块将在共享库中使用,则始终需要"位置独立代码".它高度依赖于平台,并且会产生一些开销. 您必须在amd64而不是x386上显式指定它的原因只是它恰好是x86的默认值,而不 ...

  8. linux 符号所在库,linux – 即使nm表示该符号存在于共享库中时,也未引用符号

    这可能是错的?我有以下简单的类: #include "libmnl/libmnl.h" int main() { struct mnl_socket *a = mnl_socket ...

  9. VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结...

    原文链接地址:https://blog.csdn.net/ithzhang/article/details/13170047 MSDN中对于在不同的配置下Link的LIB作了说明: C Runtime ...

最新文章

  1. 使用VScode开发ESP8266,PlatformIO开发ESP8266
  2. 在SharePoint 2010中通过SQL数据源创建仪表板
  3. 黑马程序员Linux系统开发视频之gdb调试方法
  4. Android BaseAdapter和ViewHolder 优化 解决ListView的item抢焦点问题和item错乱问题
  5. php上传图片限制类型,php,_使用php的图片上传类进行图片上传,总是提示:上传文件时出错 : 未允许类型 。都是默认的配置,php - phpStudy...
  6. jsp,div 限制字数,超出部分用省略号代替
  7. 分享一个剪切板的小软件CopyQ
  8. violinplot如何看懂_一张图告诉你如何看懂个股大趋势
  9. 机器学习 | 分类评估指标
  10. python扫雷算法_python实战教程之自动扫雷(自己存下来学习之用)
  11. mysql 与紫金桥_现在常用的国产组态软件哪个更好用些?
  12. 安卓基础框架与四大组件分析
  13. Go语言第一课背后的那些事儿
  14. GNSS精密轨道产品sp3与精密钟差产品clk批量下载(Linux Shell)
  15. Golang深拷贝浅拷贝
  16. DX11:先定一个小目标,比如:把DX11龙书上的知识点系统的总结下来
  17. Python爬取码市项目
  18. 毕业工作五年的总结和感悟(上)
  19. mathpix无法免费?识别公式终极版,看着这篇就够了
  20. 齐次坐标 (Homogeneous Coordinate)

热门文章

  1. opencv简易数字识别
  2. [免费的win7 娘]WES7SP1 测试心得
  3. NoSql的四大类型
  4. 微信小程序的wxml实现复杂运算或者数据处理
  5. 【信号与系统】(二)信号与系统概述——基本信号
  6. 2021年3月20日美团笔试
  7. 开源巨献:Google最热门的40款开源项目
  8. Golang pprof简介
  9. java拆分excel_apache poi拆分excel表格
  10. UDF开发手册 - UDF