creative framework 開發進度(回到原點之一)

有種回到原點的感覺…。 因為啊,底層用的go-ui 不更新了。 作者的新作github上也都沒有commit 。等了一段時間後覺得不行了,還是得自己動手。但沒想到這麼複雜…。

第一步呢就是模仿go-ui 來建立一個qt的 dynamic lib ,光這邊就弄一段時間了…。首先要改出可以產出  .dylib的.pro檔案,找了老半天 後來才發現是修改TARGET 即可。不過還是有點怪怪的問題,暫時先不想理他,所以現在是用….go-ui 的 .pro檔案來產生 dylib 檔案….。(感謝open source 啊!!)  之後再來看看怎麼修正這個問題。

第一關就是寫在註解裡面的C程式  Go找不到,後來才發現 寫完之後要緊接著 import “C" …也就是說

/*

void hello();

*/

import “fmt"

import “C"

這樣是錯的,一定要

/*

void hello();

*/
import “C"

甚至多一行空白也不行勒。

第二關就是呼叫編譯好的lib了,一開始一直出錯,一直跟我說找不到這個函式。後來想起來之前看過的 程式設計師的自我修養:連結、載入、程式 一書中有提到可以dump出dll裡面的symbol,於是搜尋一下 發現在mac上可以用 nm  -gU  libname  來看。 我比照一下列表跟程式碼。才發現原來是需要…. extern “C" 來把他匯出成全域的函式…(看來C/C++ 還有一段長路要走勒)。 到這邊終於可以呼叫函式了,感覺很棒!!。

 

但是下一關開始呼叫 qt的 qappliction.exec()的時候 就又出錯了……。 等解決後再來寫下一篇了!

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s