- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我写了一些程序,并尝试使用 g++ 编译它们,因此,
$ g++ minIni.c device_datum.cpp fanuc_axis.cpp fanuc_path.cpp service.cpp condition.cpp cutting_tool.cpp string_buffer.cpp logger.cpp client.cpp server.cpp adapter.cpp fanuc_adapter.cpp FanucAdapter.cpp -L/usr/local/lib/ -lfwlib32 -lpthread -o adapter
我不断收到以下错误:
/usr/bin/ld: cannot find -lfwlib32
collect2: error: ld returned 1 exit status
fwlib32.h
是我要包含的库。共享对象文件 libfwlib32.so 存在于 /usr/local/lib
和 /usr/lib
中。但我无法链接到它。我已经尝试了类似问题提供的所有解决方案,包括
$ export LIBRARY_PATH=/usr/local/lib/
$ export LD_LIBRARY_PATH=/usr/local/lib
我也对/usr/lib
做了上面的操作,但还是报同样的错误。我已尝试在命令行中使用 -L 选项,但仍然出现错误。
我什至创建了一个名为 lib
的新文件夹,将 libfwlib32.so.1.0.1
粘贴到其中并运行
$ ln -s ~/lib/libfwlib32.so.1.0.1 ~/lib/libfwlib32.so
在控制台上创建一个新的 .so 文件,并将 ~/lib
作为命令行上 -L 选项的参数。没什么区别。我正处于撕裂我的头发的地步,所以任何帮助将不胜感激。
非常感谢!
最佳答案
你应该把 -l 选项放在最后:
$ g++ minIni.c device_datum.cpp fanuc_axis.cpp fanuc_path.cpp service.cpp condition.cpp cutting_tool.cpp string_buffer.cpp logger.cpp client.cpp server.cpp adapter.cpp fanuc_adapter.cpp FanucAdapter.cpp -L/usr/local/lib/ -o adapter -lfwlib32 -lpthread
注意:请确保所有头文件和源文件都在同一个文件夹中。
关于c++ -/usr/bin/ld 找不到 -l<nameOfLibrary>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34037474/
我正在使用源代码中的Postgres 13(Rel_13_STRATE分支),并且我使用的是来自apachea/age源代码的(Release/PG13/1.3.0分支)中的1.3.0版的Apache
/usr/bin/ld: cannot find -ldlib /usr/bin/ld: cannot find -lcblas /usr/bin/ld: cannot find -llapack 在
我正在尝试运行 project 。但它给出了一个错误 fs.js:666 return binding.readdir(pathModule._makeLong(path));
我的新 CentOS7 中有两个目录: Work_Folder1/my_project/linux_dev.cfg Work_Folder2/my_project/linux_dev.cfg 如果我尝
我正在读这个thread和 PostgreSQL 9.4 的手册。我跑 ps auxw | grep postgres | grep -- -D 但是得到 postgres 17340 0.0
我想在我的 shell 中使用系统服务,但该服务的 bin 路径在不同的机器上是不同的(/usr/sbin/myservice 或/usr/local/sbin/myservice)。 那么,我怎样才
我正在为 centos 制定 RPM 规范,如果 arch 是 64 位的,它需要将共享库安装到/usr/lib64,否则需要安装到/usr/lib? 最佳答案 这不是它应该的工作方式。决定库去向的不
我使用 gem install watchr 在 OS X (10.8.3) 上安装了 watchr。它安装在 /usr/bin/watchr $ which watchr /usr/bin/watc
在linux下我们经常用到的四个应用程序的目录是:/bin、/sbin、/usr/bin、/usr/sbin bin: bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp
我在 Pop_OS 下使用 PyCharm 2020.2.3 和 Python 3.8.6! 20.10(你可以像我使用 Ubuntu 20.10 一样)无法在 /usr/bin 或 /usr/lib
我在新的 MacBook 中使用 OS X Yosemite。刚刚安装了 Homebrew 和一些基本的软件包,最近搬到了这台新电脑上。 我注意到,当我安装新的 brew 包时,偶尔会出现链接错误。出
我到 gcc 的链接行连续包含以下两个条目: -lrt -lpam 这似乎扩展为: /usr/lib64/librt.so /usr/lib/libpam.so 为什么 rt 解析为 lib64 而
我有一个大型捆绑软件发行版的错误 Makefile。在某些时候,编译器总是“忘记”我想在 32 位程序中编译。这导致部分程序具有 64 位库,而其他程序具有 32 位库。 如何在每次运行 gcc 时强
如果我安装了Go发行版软件包,则会在/usr/lib/golang/pkg中看到很多文件,在/usr/lib/golang/src中看到非常相似的文件集。这两组之间有什么关系? pkg是从src中的源
我在安装 python 2.7.6 时犯了一个错误,没有使用 home brew,现在我的 python 设置为 /usr/local/bin/python 中的 python(这是 2.7.6)。
我是一名见习程序员,有时我的头脑浮在云端.. 我的同事通过 ssh 连接来搞乱我的专业计算机。其中一位告诉我,防止这种情况发生的最佳方法是保护我的计算机。为了做到这一点,我不小心更改了/usr 目录的
我在 ubuntu 16.04 上尝试编译 fbthrift ( https://github.com/facebook/fbthrift ) 时遇到奇怪的错误 make[4]: Entering d
我遇到了这个奇怪的问题 ag: /usr/lib64/liblzma.so.5: no version information available (required by ag) 由于某种原因,预装
我用的是 ubuntu。 我发现安装的许多 Python 库都在 /usr/lib/python 和 /usr/lib64/python 中。 当我打印一个模块对象时,模块路径显示该模块位于/usr/
在 Linux 上,特别是 Debian Jessie,我应该使用 /usr/bin/python 还是应该在 /usr/local/bin 中安装另一个副本? 据我所知,前者是系统版本,随着操作系统
我是一名优秀的程序员,十分优秀!