This question already has answers here:
What is an undefined reference/unresolved external symbol error and how do I fix it?
(32个答案)
去年关闭。
我已经构建了zeroMQ解决方案,即libzmq和czmq,我已经使用cmake-3.13配置并生成了vs 2015,从而为我的Windows 10系统构建了解决方案。
我能够成功运行czmq_selftest.exe,但是当我尝试运行示例代码时,出现以下错误-
这是我的目录结构-
C:\ Program Files \ czmq \ examples \ security \ hello.c
C:\ Program Files \ czmq \ include
你好ç
我正在使用“ MinGW64”来编译以上代码-
最初,上面的代码给了我
$ gcc hello.c -o你好
hello.c:5:10:致命错误:czmq.h:没有此类文件或目录
当我尝试手动提供头文件路径时,我得到了-
gcc hello.c -o hello -I“ C:\ Program Files \ czmq \ include”
我找不到任何可以帮助我解决此错误的信息。
这是告诉C包含文件在不同目录中的方法
如果包含文件位于同一目录中,则行变为
第二个错误恕我直言,意味着您在包含文件中没有正确的定义
(32个答案)
去年关闭。
我已经构建了zeroMQ解决方案,即libzmq和czmq,我已经使用cmake-3.13配置并生成了vs 2015,从而为我的Windows 10系统构建了解决方案。
我能够成功运行czmq_selftest.exe,但是当我尝试运行示例代码时,出现以下错误-
这是我的目录结构-
C:\ Program Files \ czmq \ examples \ security \ hello.c
C:\ Program Files \ czmq \ include
你好ç
#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;
}
我正在使用“ MinGW64”来编译以上代码-
最初,上面的代码给了我
$ gcc hello.c -o你好
hello.c:5:10:致命错误:czmq.h:没有此类文件或目录
当我尝试手动提供头文件路径时,我得到了-
gcc hello.c -o hello -I“ C:\ Program Files \ czmq \ include”
C:\Ruby25-x64\msys64\tmp\ccF5oCT1.o:hello.c:(.text+0x22): undefined reference to `__imp_zsock_new_checked'
C:\Ruby25-x64\msys64\tmp\ccF5oCT1.o:hello.c:(.text+0x3b): undefined reference to `__imp_zsock_set_curve_server'
C:\Ruby25-x64\msys64\tmp\ccF5oCT1.o:hello.c:(.text+0x64): undefined reference to `__imp_zsock_destroy_checked'
collect2.exe: error: ld returned 1 exit status
我找不到任何可以帮助我解决此错误的信息。
最佳答案
您应该像这样更改第一行:
#include "path/czmq.h"
这是告诉C包含文件在不同目录中的方法
如果包含文件位于同一目录中,则行变为
#include "czmq.h"
第二个错误恕我直言,意味着您在包含文件中没有正确的定义
关于c - 编译C代码时出现异常错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54200230/
10-09 04:39