Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将libmicrohttpd代码嵌入C++;或者如何编译这个示例? 我有一个创建C++程序的要求,它通过HTTP公开某些功能。出于这个原因,我试图用同样的方法。现在这个库是用C编写的,不过我对C++有点新的,我正在尝试编译这个C++和C++代码。()_C++_C_Compilation - Fatal编程技术网

将libmicrohttpd代码嵌入C++;或者如何编译这个示例? 我有一个创建C++程序的要求,它通过HTTP公开某些功能。出于这个原因,我试图用同样的方法。现在这个库是用C编写的,不过我对C++有点新的,我正在尝试编译这个C++和C++代码。()

将libmicrohttpd代码嵌入C++;或者如何编译这个示例? 我有一个创建C++程序的要求,它通过HTTP公开某些功能。出于这个原因,我试图用同样的方法。现在这个库是用C编写的,不过我对C++有点新的,我正在尝试编译这个C++和C++代码。(),c++,c,compilation,C++,C,Compilation,现在我需要帮助了解如何使用G++来编译一个完全没有用C++编写的程序。和/或如何编译上述链接代码。 PS:在linux中工作 最后,如果有人能指出一个比libmicrohttpd更容易的替代方案,我洗耳恭听。 编辑到编辑: 终于开始工作了。使用gcc编译各个cpp文件,然后使用g++链接所有内容。我不知道这是怎么回事,也许有人可以在下面回答。 我制作了以下脚本进行编译和链接: LOC="path/to/directory" gcc -c httphandler.cpp -o httphandl

现在我需要帮助了解如何使用G++来编译一个完全没有用C++编写的程序。和/或如何编译上述链接代码。 PS:在linux中工作
最后,如果有人能指出一个比libmicrohttpd更容易的替代方案,我洗耳恭听。 编辑到编辑:
终于开始工作了。使用gcc编译各个cpp文件,然后使用g++链接所有内容。我不知道这是怎么回事,也许有人可以在下面回答。 我制作了以下脚本进行编译和链接:

LOC="path/to/directory"
gcc -c httphandler.cpp -o httphandler.o -I $LOC
gcc -c strutil.cpp -o strutil.o -I $LOC
gcc -c api.cpp -o api.o -I $LOC
gcc -c executor.cpp -o executor.o -I $LOC
g++ -o out httphandler.o strutil.o api.o executor.o -lmicrohttpd -lboost_regex
但在最后一步中,我得到了以下错误:


给出了什么?

对于初学者,不要使用
g++
编译C代码,而是使用
gcc
。然后只包含头文件并正常使用这些函数。链接时,请不要忘记链接编译libmicrohttpd源文件时生成的目标文件。

感谢您为我指明了正确的方向。所以我照你说的做了。我差一点(读到的错误很少)。现在我终于得到一个链接器错误。我把它加入问题本身。你可以看一下吗?@ Digvijay91编译了C++代码,代码为“代码> G++<代码>,C代码为<代码> GCC 。链接到
g++
。在你的问题中显示的片段中,它都是C++,所以只使用<代码> G++< /C>,我认为你和你的项目一起编译了LyMyTwittPd。我使用g++链接所有对象文件,以及-lmicrohttpd和-lboost_regex。但我不知道它为什么会起作用。如果你把这个添加到你的答案中,我会接受它,并且在我的答案中做必要的改变(对于我自己或其他人)。@ Digvijay91:在代码< GCC < /C> >和<代码> G++< /> >链接时,是默认的与C++运行时库链接的<代码> G++<代码>,<代码> GCC < /C>不。
/usr/bin/ld: strutil.o: undefined reference to symbol '__cxa_free_exception@@CXXABI_1.3'
/usr/bin/ld: note: '__cxa_free_exception@@CXXABI_1.3' is defined in DSO /usr/lib/x86_64-linux-gnu/libstdc++.so.6 so try adding it to the linker command line
/usr/lib/x86_64-linux-gnu/libstdc++.so.6: could not read symbols: Invalid operation