解決windows上靜態連結cairo不顯示東西的問題
今天閒著沒事把cairo靜態編譯了一把,但是沒想到靜態連結後用不起來,本來用cairo畫圖好好的現在卻變成了白板一張..除錯了一下看是進入了cairo_win32_surface_create這個函式之後就沒有返回,不過仔細想了下呼叫dll沒問題但是靜態連結就有問題,八成是在載入dll的時候初始化了什麼東西,但是static連結沒有初始化,那手動初始化一下應該就可以了。於是開啟notepad++在cairo原始碼中搜DllEntry,發現果然有初始化一個mutex
BOOL WINAPI
DllMain (HINSTANCE hinstDLL,
DWORD fdwReason,
LPVOID lpvReserved)
{
switch (fdwReason) {
case DLL_PROCESS_ATTACH:
CAIRO_MUTEX_INITIALIZE ();
break;
case DLL_PROCESS_DETACH:
CAIRO_MUTEX_FINALIZE ();
break;
}
return TRUE;
}
那事情就好說了,在程式開始的地方呼叫CAIRO_MUTEX_INITIALIZE (),結束的地方呼叫CAIRO_MUTEX_FINALIZE (),重新編譯,一切正常。
另外還發現了一個方法,在cairo_win32_surface_create之前呼叫一遍cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 0, 0)也能解決問題,原因不知道...不過這不是正常的解決方法,而且還要費勁去釋放這個surface,沒什麼好處。
相關文章
- 靜態連結動態連結的連結順序問題和makefile示例
- Django不顯示CSS的效果(基於Django模板的靜態資源配置問題)DjangoCSS
- vue-解決background-image:url不顯示問題Vue
- 無線網路卡狀態不對問題:已連線 顯示 未連線
- 解決 PBootCMS 後臺登入不顯示驗證碼的問題boot
- 載入自定義擴充套件包報錯連結不上的問題解決套件
- 如何使用AIRCHECK G2解決wifi連不上的問題AIWiFi
- LiveCharts中文顯示亂碼問題的解決Echarts
- linux配置靜態路由解決網路問題Linux路由
- windows10照片大圖示不顯示怎麼辦_win10系統不顯示圖示的解決方法WindowsWin10
- WPF ComboBox資料繫結:初始化動態載入ItemsSource後首次賦值Text不顯示問題解決賦值
- layui 輪播圖動態資料不顯示問題UI
- archlinux下wps顯示問題解決方法Linux
- 解決Qt編譯動態連結庫could not find or load the Qt platform plugin "windows" in.問題QT編譯PlatformPluginWindows
- proteus模擬數碼管無法動態顯示的問題-解決方法
- 關於顯示載入動態連結庫模組及解除安裝的問題
- Win10 內建 OpenSSH 使用金鑰連不上的問題解決Win10
- Firefox顯示您的連結不安全的解決辦法Firefox
- vue使用iview Timeline 時間軸不顯示渲染的效果問題解決辦法VueView
- pyecharts地圖功能,並解決顯示不全或只顯示南海諸島問題解決Echarts地圖
- Windows10系統下工作列圖示名稱不顯示的解決方法Windows
- 動態連結庫與靜態連結庫
- 【連結 1】與靜態連結庫連結
- ElasticSearch 安裝head外掛連線不上,顯示叢集健康值:未連線的問題【原創帖】Elasticsearch
- 寶塔部署靜態服務遇到問題與解決
- oxyplot ScatterPoint新增後不顯示問題
- Linux配置靜態IP解決無法訪問網路問題Linux
- windows10系統開機後顯示器不亮的解決方法Windows
- git branch不顯示本地分支的問題(二)Git
- 若依解決VUE前端時間顯示問題Vue前端
- 成功解決github無法顯示圖片問題Github
- vmware不顯示usb圖示解決辦法
- winform的bindingNavigator上按鈕顯示問題ORM
- npm install 老是裝不上東西NPM
- IOS下圖片不能顯示問題的解決辦法iOS
- uniapp onshow/onLoad 中的 showToast 不顯示的問題APPAST
- MacOS 不顯示 SD 卡的 bug 解決方法Mac
- SDWebImage在iOS12上WebP格式圖片不顯示問題WebiOS
- vue-element-admin 解決壓縮打包之後背景圖片不顯示問題Vue