我想独立运行我的程序。它是使用libmysql.lib与MySQL的简单连接,并且需要libmysql.dll才能运行(将它放在同一个文件夹中)。现在我的问题是,我怎么能在c :: b中编译所以我可以在其他机器上使用我的可执行文件而不需要.dll?我听说过静态库,但我不知道它是如何工作的,所以如果有人能解释我的过程,那就太好了。
P.S。我使用GNU CC编译器。
#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;
}
答案 0 :(得分:3)
转到Project->Build Options->(Select project name)
。然后选择Linker settings
并点击Add
下的Link Libraries
按钮,然后选择libmysql.lib
。这应该静态编译你的程序,AFAIK。
有关详细信息,请参阅MySQL reference中的在Microsoft Windows上编译MySQL客户端部分。