我通过二进制文件安装了openssl,我在那个确切的位置有确切的文件。 但在编译时我面临这个错误。任何想法?
g++ main.cpp -I /usr/local/openssl/include/openssl/
In file included from main.cpp:1:0:
main.h:4:25: fatal error: openssl/evp.h: No such file or directory
compilation terminated.
更新:
以下命令完成了这项工作,但我仍然面临错误。
g++ main.cpp -I/usr/local/openssl/include -L/usr/local/openssl/lib main.cpp -lcrypto
/usr/local/openssl/lib/libcrypto.a(dso_dlfcn.o): In function `dlfcn_globallookup':
dso_dlfcn.c:(.text+0x1d): undefined reference to `dlopen'
dso_dlfcn.c:(.text+0x33): undefined reference to `dlsym'
dso_dlfcn.c:(.text+0x3d): undefined reference to `dlclose'
有什么想法吗? :(
解决方案:
g++ main.cpp -I/usr/local/openssl/include -L/usr/local/openssl/lib main.cpp -lcrypto -ldl
答案 0 :(得分:3)
更改为:
g ++ main.cpp -I / usr / local / openssl / include
因为include伪指令包含子目录的名称。
请注意,您必须添加要链接的openssl库。我不熟悉它,但是-lopenssl
之类的东西,并添加一个要搜索的目录,以使用-L
选项找到它。完整的命令会是这样的(因为我猜测lib目录和openssl的库名称):
g ++ main.cpp -I / usr / local / openssl / include -L / usr / local / openssl / lib main.cpp -lopenssl
答案 1 :(得分:0)
-I和路径之间没有空格。