我尝试使用mongoose构建一个 C++ 项目,但我不断收到链接器错误。
我尝试使用描述类似症状的现有 SO 问题的答案:什么是未定义的引用/未解决的外部符号错误,我该如何解决?通过#include
C 标头使用外部 C 链接:
//simple_web_server credited to Cesanta Software
#include "stdafx.h"
extern "C" {
#include "mongoose.h"
}
static const char *s_http_port = "8000";
static struct mg_serve_http_opts s_http_server_opts;
static void ev_handler(struct mg_connection *nc, int ev, void *p) {
if (ev == MG_EV_HTTP_REQUEST) {
mg_serve_http(nc, (struct http_message *) p, s_http_server_opts);
}
}
int main(void) {
struct mg_mgr mgr;
struct mg_connection *nc;
mg_mgr_init(&mgr, NULL); // <== this causes linker error
...
我不断收到以下链接器错误:
1>------ Build started: Project: simple_web_server02, Configuration: Debug Win32 ------
1> simple_web_server02.cpp
1>simple_web_server02.obj : error LNK2019: unresolved external symbol _mg_mgr_init referenced in function _main
提供的位置mongoose.h
是属性 > VC++ > 包含目录。
我还注意到省略/包括 'extern "C" {...}' 没有明显效果。
任何帮助或建议将不胜感激。