【发布时间】:2017-10-27 17:21:09
【问题描述】:
我有以下文件:
.
├── combinatorics
│ ├── permutation.cpp
│ └── permutation.h
├── main.cpp
└── math
├── basic.cpp
└── basic.h
我正在尝试通过执行以下步骤来创建一个共享库:
g++ -c -Wall -std=c++14 -fpic combinatorics/permutation.cpp -o permutations.o
g++ -c -Wall -std=c++14 -fpic math/basic.cpp -o mathbasic.o
g++ -shared -o combmath.so permutations.o mathbasic.o
g++ -Wall -std=c++14 main.cpp -L. -o output -lcombmath
但我收到以下消息:
/usr/bin/ld: cannot find -lcombmath
collect2: error: ld returned 1 exit status
我做错了什么?
【问题讨论】:
-
我指定使用 -L 从当前目录搜索。所以这就是为什么我问为什么它仍然没有找到它,我不知道为什么不赞成
-
-lpermutations未显示在您的命令列表中。它只出现在错误消息中。 -
我粘贴了错误的命令,谢谢。能否请您删除反对票?
-
我不知道为什么这被否决了,在命名不以 lib 开头的自定义库时这是一个常见的错误。
标签: c++ linux shared-libraries