為使用mysql而配置codeblocks工程

來源:互聯網
上載者:User
   

心結:

 

 
 為了在codeblocks下建立的C++工程中使用mysql,辛辛苦苦忙活了半個下午,終於長舒一口氣,搞定了,編譯成功。

   
其中不乏數次的成功於失敗的反覆。箇中滋味,只有讓我有擂頭頓足的衝動。
  
 不過,還算上天公平,問題終究還是解決了。
  
 趁著刻骨銘心的痛苦還沒有消失殆盡,趕快把過程記錄於此。權慰數小時之功,且備來時之用。

-----------------------------------------------------

 記錄:
  
 為使用mysql配置codeblocks下C++工程:
  
    
goto project -> build options
  
   
 a. compiler settings tab -> other
options: `mysql_config --cflags`
  
   
 b. linker settings tab -> other
options: `mysql_config --libs`
  
    
to get codecompletion you probably need to add the include dir to
your project
  
   
 c. search directories tab ->
compiler:  /usr/include/mysql

-----------------------------------------------------
問題:
  
 為了弄明白mysql_config是什麼東西?
  
 使用了mysql_config之後,為什麼就不需要lmysqlclient參數了?

  
 帶著問題,查到了mysql_config的一些說明。轉載如下:
-----------------------------------------------------
轉載:
//轉載聲明:下面的文字來自:Java入門培訓網

   

  #
  
 mysql_config提供了關於編譯MySQL用戶端以及將其串連到MySQL的有用資訊。

  
 mysql_config支援下述選項:
  
 ?        
--cflags
  
 編譯器標誌,用於尋找包含檔案,以及編譯libmysqlclient庫時所要使用的關鍵編譯器標誌和定義。

  
 ?        
--include
  
 編譯器選項,用於尋找MySQL包含檔案(注意,正常情況下應使用“?cflags”而不是該選項)。

  
 ?        
--libmysqld-libs, ---embedded
  
 與MySQL嵌入式伺服器進行連結所需的庫和選項。
  
 ?        
--libs
  
 與MySQL用戶端庫進行連結所需的庫和選項。
  
 ?        
--libs_r
  
 與安全執行緒MySQL用戶端庫進行連結所需的庫和選項。
  
 ?        
--port
  
 預設的TCP/IP連接埠號碼,配置MySQL時定義。
  
 ?        
--socket
  
 預設的Unix通訊端檔案,配置MySQL時定義。
  
 ?        
--version
  
 版本號碼以及MySQL分發版的版本。

  
 如果未使用任何選項調用了mysql_config,將顯示它所支援的所有選項的列表,以及它們的值:

  
 shell> mysql_config
    Usage:
/usr/local/mysql/bin/mysql_config [options]
  
 Options:
  
  
--cflags        
[-I/usr/local/mysql/include/mysql -mcpu=pentiumpro]
  
  
--include       
[-I/usr/local/mysql/include/mysql]
  
  
--libs          
[-L/usr/local/mysql/lib/mysql -lmysqlclient -lz
  
   
            
-lcrypt -lnsl -lm -L/usr/lib -lssl -lcrypto]
  
  
--libs_r        
[-L/usr/local/mysql/lib/mysql -lmysqlclient_r
  
   
            
-lpthread -lz -lcrypt -lnsl -lm -lpthread]
  
  
--socket        
[/tmp/mysql.sock]
  
  
--port          
[3306]
  
  
--version       
[4.0.16]
  
   --libmysqld-libs
[-L/usr/local/mysql/lib/mysql -lmysqld -lpthread -lz
  
   
            
-lcrypt -lnsl -lm -lpthread -lrt]

  
 可以在命令列上使用mysql_config,並包含針對特定選項的值。例如,要想編譯MySQL用戶端程式,

   
可使用mysql_config,如下例所示:
  
 shell>
CFG=/usr/local/mysql/bin/mysql_config
  
 shell> sh -c "gcc -o progname
`$CFG --cflags` progname.c `$CFG --libs`"
  
 以這種方式使用mysql_config時,務必在字元(‘`’)內調用它。
   
這樣,就能通知shell執行它,並將其輸出代入到環境命令中。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.