如何通过Code :: Blocks中的静态链接创建独立程序

时间:2013-03-31 10:36:17

标签: c++ mysql dll static static-libraries

我想独立运行我的程序。它是使用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;
}

1 个答案:

答案 0 :(得分:3)

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

有关详细信息,请参阅MySQL reference中的在Microsoft Windows上编译MySQL客户端部分。