2014-08-31 48 views
0

我需要使用IBM DB2和C/C++(不是選項)。我的編譯器是gcc/cygwin64。如何鏈接DB2 Express-C的C/C++

這種自我幫助已經導致了對我的環境而言過時或不正確的事情。

最好的網頁(很多)我發現到目前爲止是:http://www.eecs.yorku.ca/course_archive/2013-14/W/3421/db2notes/embed-c.html

我現在停留在最後一部分,我們做鏈接。我需要做些什麼才能編譯和鏈接:使用gcc的Windows 8.1/Cygwin64? (最終C++,任何指針也會有幫助)。我正試圖獲得IBM提供的一個C編譯,鏈接和運行的示例。

我改變了鏈接命令使用-ldb2api(在這裏只是猜測,在我的Express-C副本中沒有db2.lib),這似乎獲得了所有符號解析,但是這給出了許多錯誤'重定位被截斷以適應...'

谷歌搜索,讓我失望了另一個鼠洞有關def文件,我仍然沒有想通。按照頁面上的說明,不生成def文件。我不確定如何,或者如果,修復這個工作。到目前爲止,我基於示例生成一個的嘗試都沒有奏效。大部分的幫助都很古老,所以我不確定哪些人會去。

我想讓所有這些都運行'standalone',沒有任何.bat腳本或提供的makefile。這種方法已經給了我更多的樂趣,而不是我所能做到的。我希望這種簡單的方法最終能夠解決。

到目前爲止,我已經獲得了最新的DB Express-C,並且正在使用IBM提供的c目錄中的示例。我希望這是最後一步,並沒有一個新的山峯(當然除了編程本身)。所有組件都是最新的。任何幫助讚賞。

回答

0

當您安裝DB2時,您需要指定應用程序開發,以包含標題。否則,DB2只安裝二進制文件。

您可以通過將此選項添加到現有安裝來修改您的安裝。

enter image description here

+0

我可以得到編譯的代碼。我無法做到的是鏈接。 所以我想我有頭文件,而且我也有.lib文件。我不確定它們是否是正確的lib文件,或者我使用鏈接器的不正確參數。當然,一些示例鏈接指令不再適用於當前的gcc(無效參數)。但我會回頭看看安裝中是否還有其他選項可能會丟失。謝謝。 – user3621949 2014-09-02 16:43:11

+0

安裝已經選中了「基礎開發工具」選項。所以這是另一個有利於他們的指針。 – user3621949 2014-09-02 17:00:00