运行 程序时出现错误 #include <czmq.h> missing
I get error #include <czmq.h> missing when running program
过去 4 天我一直在尝试让 Zeromq 在我的 Windows 机器上运行,但似乎没有任何进展。
我按照给定的步骤解决了一些依赖性问题。
我已经成功构建了 libzmq、czmq、libsodium。
我使用 cmake 3.12 进行配置,使用 VS2015 SDK 8.1 构建解决方案。
我能够 运行 czmq_selftest.exe 但是它失败了一些事情,那是不同的问题。
但是当我尝试 运行 基本程序时 myapp.c
#include <czmq.h>
int main (void) {
zsock_t *publisher = zsock_new (ZMQ_PUB);
zsock_set_curve_server (publisher, true);
puts ("Hello, Curve!");
zsock_destroy(&publisher);
return 0;
}
我看到这个缺少库的问题,我尝试了 link 方法-
gcc myapp.c -o myapp -lczmq -lzmq
但没有任何效果,如果有人能提供一些解决方案,那将非常有帮助。
这是其他信息 -
OS - Windows 10
Cmake - 3.13.2
Visual Studio 2015, SDK 8.1
libzmq 4.3.0
czmq 4.1.1
来源:https://github.com/zeromq/czmq
更多信息-
我的系统-
C:\Users\P\go\src\github.com\zeromq\czmq\include
包含所有库。
我的程序在-
C:\Users\P\go\src\github.com\zeromq\czmq\examples\security
谢谢
编译器无法自行跟踪用户可能已在系统上安装的所有库。您必须告诉编译器在哪里可以找到头文件或链接器库等内容。
要告诉编译器将路径添加到用于搜索头文件的列表中,请使用 -I
(大写 i)选项。
要告诉链接器将路径添加到用于搜索链接器库的列表中,请使用 -L
选项。
考虑到您在问题和评论中提到的路径,您需要同时添加 -I../../include
和 -L../../Debug
。
也就是说,您的完整命令应该类似于
gcc myapp.c -o myapp -I../../include -L../../Debug -lczmq -lzmq
当然,这需要您位于目录 C:\Users\P\go\src\github.com\zeromq\czmq\examples\security
中。
过去 4 天我一直在尝试让 Zeromq 在我的 Windows 机器上运行,但似乎没有任何进展。
我按照给定的步骤解决了一些依赖性问题。
我已经成功构建了 libzmq、czmq、libsodium。
我使用 cmake 3.12 进行配置,使用 VS2015 SDK 8.1 构建解决方案。
我能够 运行 czmq_selftest.exe 但是它失败了一些事情,那是不同的问题。
但是当我尝试 运行 基本程序时 myapp.c
#include <czmq.h>
int main (void) {
zsock_t *publisher = zsock_new (ZMQ_PUB);
zsock_set_curve_server (publisher, true);
puts ("Hello, Curve!");
zsock_destroy(&publisher);
return 0;
}
我看到这个缺少库的问题,我尝试了 link 方法-
gcc myapp.c -o myapp -lczmq -lzmq
但没有任何效果,如果有人能提供一些解决方案,那将非常有帮助。
这是其他信息 -
OS - Windows 10
Cmake - 3.13.2
Visual Studio 2015, SDK 8.1
libzmq 4.3.0
czmq 4.1.1
来源:https://github.com/zeromq/czmq
更多信息-
我的系统-
C:\Users\P\go\src\github.com\zeromq\czmq\include
包含所有库。
我的程序在-
C:\Users\P\go\src\github.com\zeromq\czmq\examples\security
谢谢
编译器无法自行跟踪用户可能已在系统上安装的所有库。您必须告诉编译器在哪里可以找到头文件或链接器库等内容。
要告诉编译器将路径添加到用于搜索头文件的列表中,请使用 -I
(大写 i)选项。
要告诉链接器将路径添加到用于搜索链接器库的列表中,请使用 -L
选项。
考虑到您在问题和评论中提到的路径,您需要同时添加 -I../../include
和 -L../../Debug
。
也就是说,您的完整命令应该类似于
gcc myapp.c -o myapp -I../../include -L../../Debug -lczmq -lzmq
当然,这需要您位于目录 C:\Users\P\go\src\github.com\zeromq\czmq\examples\security
中。