利用DEV-C++ 改造hpc01機上的test_multithread_socket_textsearchbyExampleDoc.cpp

來源:互聯網
上載者:User

此項改造工作是為了將原本在叢集hpc01節點上的程式,搬到一台Windows機器上運行。

覺得VC太龐大,遂決定採用DEV-C++ 作為開發工具。自己是首次使用它。

一 從hpc01轉移到Windows單機平台時採用了DEV-C++,所遇到的問題

使用 DEV-C++ 時,需要在 Project options -> Parameters->linker

中添加

1. c:/Program Files/DEV-CPP/Lib/libws2-32.a(支援程式中的多線程功能)

2. {MySQL HOME}/lib/opt/libmysql.a (支援在程式中串連MySQL資料庫)

註:隨MySQL安裝包帶來的libmysql.dll(libmysql.dll)只支援Visual C++開發環境。要利用dlltool.exe(安裝DEV-C++時會出現在其安裝目錄的某一子目錄中)對libmysql.dll和libmysql.def兩個檔案進行加工產生libmysql.a。

 

Code
dlltool --input-def libmySQL.def --dllname libmySQL.dll --output-lib libmysql.a -k

libmysql.def的來源有二:一是來自MySQL的安裝目錄下的某處,第二是利用下面的命令(需下載Pexports工具 )

 

Code
 pexports libmySQL.dll > libmySQL.def 

 

另外,在偵錯工具時發現,需要把libmysql.dll放在Project的根目錄下。否則,會出現下面的

 

Code
 Error connecting to database

Client does not support authentication protocol requested by server, consider upgrading MySQL client.

 

這種錯誤是由於client 與 server 端不匹配造成的。

二. 從hpc01轉移到Windows單機平台時DEV-C++中使用M一SQL時遇到的問題

需要下載mysql-connector-java-5.X.X.zip,解壓後把同名的 jar 檔案拷貝到{JAVA_HOME}/jre/lib/ext/目錄下。

否則出現下面的錯誤

Code
com.mysql.jdbc.Driver

 

表現在程式碼中執行到

 

Code
Class.forName("com.mysql.jdbc.Driver");

 

不能成功執行。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.