3

我想独立运行我的程序。它是使用 libmysql.lib 与 MySQL 的简单连接,并且需要 libmysql.dll 才能运行(将其放在同一文件夹中)。现在我的问题是,我怎样才能在 c::b 中编译,这样我就可以在其他机器上使用我的可执行文件并且不需要 .dll?我听说过静态库,但我不知道它是如何工作的,所以如果有人能解释一下这个过程,那就太好了。

PS 我使用 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;
}
4

1 回答 1

3

Project->Build Options->(Select project name)。然后选择Linker settings并单击Add下的按钮Link Libraries,然后选择libmysql.lib。这应该静态编译你的程序,AFAIK。

有关更多信息,请参阅MySQL 参考中的在 Microsoft Windows 上编译 MySQL 客户端部分。

于 2013-03-31T10:59:32.347 回答