我在一臺虛擬機上安裝了ubuntu。在那裏,我安裝了MySQL服務器sudo apt-get install mysql-server
。這工作,因爲我可以存取權限mysql-u root -p password
在c編程中使用mysql
在那之後,我做了:sudo apt-get install libmysqlclient-dev
#include <my_global.h>
#include <mysql.h>
int main(int argc, char **argv)
{
printf("MySQL client version: %s\n", mysql_get_client_info());
exit(0);
}
當我編譯這與
gcc version.c -o version `mysql_config --cflags --libs`
它的工作原理。
但是當我編譯從下面
gcc createdb.c -o createdb -std=c99 `mysql_config --cflags --libs`
這一次我得到了一些錯誤。
#include <my_global.h>
#include <mysql.h>
int main(int argc, char **argv)
{
MYSQL *con = mysql_init(NULL);
if (con == NULL)
{
fprintf(stderr, "%s\n", mysql_error(con));
exit(1);
}
if (mysql_real_connect(con, "localhost", "root", "root_pswd",
NULL, 0, NULL, 0) == NULL)
{
fprintf(stderr, "%s\n", mysql_error(con));
mysql_close(con);
exit(1);
}
if (mysql_query(con, "CREATE DATABASE testdb"))
{
fprintf(stderr, "%s\n", mysql_error(con));
mysql_close(con);
exit(1);
}
mysql_close(con);
exit(0);
}
錯誤:
"Usage:: No such file or directory
[OPTIONS]: No such file or directory
Options:: No such file or directory
[-I/usr/include/mysql: No such file or directory
[-L/user/lib/x86_64-linux-gnu: No such file or directory
.
.
.
unrecognized command line option '--cflags'
unrecognized command line option '--libs'
.
.
unrecognized command line option '--socket'
unrecognized command line option '--port' "
有人可以給我解釋一下我做錯了什麼,以及如何解決它?
我只想從C程序中的表中獲取一些數據。
當你嘗試編譯命令時,你會看到命令錯誤,因爲某些命令被意外的參數調用,其中一些命令是其他命令的輸出,這與其他命令無關,但更有可能發生編輯命令時出錯。 – CMoi
我無法重現此行爲。你能再試一次嗎? –
適合我。這是你用來編譯它的確切的命令行嗎?正如@CMoi所說,你得到的「錯誤」實際上是來自'mysql_config'的輸出。 – slugonamission