如何在Code::Blocks中通过静态链接创建独立程序
How to create standalone program by static linking in Code::Blocks
我想独立运行我的程序。这是一个简单的连接到MySQL使用libmysql。Lib和需要libmysql.dll才能运行(将其放在同一文件夹中)。现在我的问题是,我怎么能在c::b中编译,这样我就可以在其他机器上使用我的可执行文件,而不需要。dll?我听说过静态库,但我不知道它是如何工作的,所以如果有人能给我解释一下这个过程就太好了。
注:我使用GNU CC Compiler.
#include <iostream>
#include <winsock.h>
#include <mysql.h>
using namespace std;
int main() {
MYSQL *connect;
MYSQL_RES *res_set;
MYSQL_ROW row;
connect = mysql_init(NULL);
connect = mysql_real_connect(connect, "HOST", "USER", "PASS", "Server", 3306, NULL, 0);
while( true ) {
mysql_query(connect, "SELECT * FROM Server");
res_set = mysql_store_result(connect);
while( row = mysql_fetch_row(res_set) ) {
cout << row[0] << " " << row[1] << " " << row[2] << endl;
}
Sleep(2000);
}
mysql_close(connect);
return 0;
}
进入Project->Build Options->(Select project name)
。然后选择Linker settings
,点击Link Libraries
下的Add
按钮,选择libmysql.lib
。这应该会静态编译你的程序。
请参阅MySQL参考资料中的在Microsoft Windows上编译MySQL客户端一节了解更多信息。
相关文章:
- 基于boost的程序的静态链接——zlib问题
- 使用gcc从静态链接的文件中查找可选符号
- 使用转换器提升 Python 问题 - 静态链接
- C++实用程序::转换在静态链接库中不起作用
- 将源中的 GLEW 与 cmake 静态链接
- 在发布模式下启动使用库的静态链接编译的应用程序时出错
- libavdevice 和 x11 的静态链接库应该以什么顺序链接?
- 静态链接启用 PIC 的库时出现链接器 PIC 错误
- 静态链接库时,收到链接器错误:找不到 -lgcc_s
- 静态链接 glibc & boost_python36 for Python extension
- 我可以在C++中配置静态链接吗?
- 协议缓冲区的静态链接会导致与现有符号冲突
- C++标准是否定义了结构中成员函数的函数内定义是否必须具有静态链接?
- 静态链接 Visual Studio dll 到动态链接的 sfml 项目
- 我可以加载与库静态链接的 dll 吗?
- 静态链接MSVC库,动态链接Qt
- C++:找不到静态链接
- OpenSSL AES仅适用于某些计算机,即使具有静态链接也是如此
- CURL 静态链接未解析的外部符号
- 如何强制Windows.h在Visual Studio中静态链接而不是动态链接?