关于在C ++中构建和使用静态库的参考

时间:2014-03-29 17:01:48

标签: c++ sockets dll

我使用套接字在C ++中创建了一个简单的FTP服务器,作为项目的一部分,我需要将一些代码移植到库中。基本上我将包装一些本机Socket函数并以库的形式使用它们。

该库必须与32位和64位系统兼容,编译为静态或DLL形式,并且还适用于调试和发布模式。我们的教授在课堂上花了三个小时的时间来完成这个过程,但很明显,这个过程在我们身上丢失了,并且没有在任何地方写下来。所以我希望能找到一个很好的参考资料来帮助我们我这样做是正确的。

1 个答案:

答案 0 :(得分:2)

阅读program library howto。它解释得很好。另请阅读ar(1)

我不确定你应该创建一个静态库(例如某些libfoo.a)。 动态链接共享库(例如libfoo.so)通常是优选的。阅读Drepper's paper: How to write shared libraries

另请参阅libcurl内部源代码。它应该教你很多。

GNU make了解archive个文件,即静态libfoo.a个库。