2018年5月22日 星期二

windwos10 安裝 pkg-config

windwos10 安裝 pkg-config

這個好用在於編譯的時候可以不用打一長串,函式庫的位置與引入檔案,比如說編譯 OpenCV 可以這樣打
g++ source.cpp `pkg-config opencv --libs --cflags`

安裝配置

需要用到的工具是 GTK+ 可以從官方下載,這個工具內帶pkg-config。選中帶有 bundle 的下載就可以用了,需要配置bin到環境變數。
官方下載:http://ftp.acc.umu.se/pub/gnome/binaries/win32/gtk+/
下載完畢把他放到C曹,然後加入他的 bin 到環境變數就可以使用了。
站方懶人包執行就幫你配置好了:CHG懶人包
輸入 pkg-config —version
不過這裡只有他自帶的函式庫才有得用,如果要配置像是OpenCV之類的要自己設置

自訂軟體 config 檔

進入這個位置 C:\gtk+\lib\pkgconfig 然後隨便找一個複製一個現成的改名成 opencv.pc
然後使用文字編輯器開啟,然後把它改成這樣
libdir=C:\opencv341_mingw\x64\mingw\lib
includedir=C:\opencv341_mingw\include

Name: OpenCV341
Description: Loads and saves PNG files
Version: 3.4.1
Libs: -L${libdir} -lopencv_aruco341 -lopencv_bgsegm341 -lopencv_bioinspired341 -lopencv_calib3d341 -lopencv_ccalib341 -lopencv_core341 -lopencv_datasets341 -lopencv_dpm341 -lopencv_face341 -lopencv_features2d341 -lopencv_flann341 -lopencv_fuzzy341 -lopencv_hfs341 -lopencv_highgui341 -lopencv_img_hash341 -lopencv_imgcodecs341 -lopencv_imgproc341 -lopencv_line_descriptor341 -lopencv_ml341 -lopencv_objdetect341 -lopencv_optflow341 -lopencv_phase_unwrapping341 -lopencv_photo341 -lopencv_plot341 -lopencv_reg341 -lopencv_rgbd341 -lopencv_saliency341 -lopencv_shape341 -lopencv_stereo341 -lopencv_stitching341 -lopencv_structured_light341 -lopencv_superres341 -lopencv_surface_matching341 -lopencv_tracking341 -lopencv_video341 -lopencv_videoio341 -lopencv_videostab341 -lopencv_xfeatures2d341 -lopencv_ximgproc341 -lopencv_xobjdetect341 -lopencv_xphoto341
Cflags: -I${includedir}
中間路徑的部分在自己設置自己的位置,然後就可以使用了
pkg-config opencv --modversion
pkg-config opencv --libs --cflags
不過令我意外的居然沒辦法使用在 g++ 命令列上…
就只能當作複製用拉,需要的時候自己打出來自己複製貼上
g++ opencv.cpp `pkg-config opencv --libs --cflags`

2018年5月21日 星期一

linux下 gcc 編譯指令的 lib 一大長串一堆如何簡化

linux下 gcc 編譯指令的 lib 一大長串一堆如何簡化

有一個套件(pkg-config)可以提供這些選項,這些選項是根據你當初安裝 opecnv 的時候 opencv 自帶的信息,所以如過正常配置好就直接可以套用。
指令編譯如下(直接複製打在終端機)
# souce.cpp 自己置換
g++ souce.cpp -o souce $(pkg-config --libs --cflags opencv)
其中的 —lib 就是引入那些 lib 檔案 (如 -lopencv_core)
其中的 —cflags 就是引入那些header 檔案 (如 -I/usr/include/opencv)
自己打出來看應該比較清楚可以直接在終端機打,應該就會瞬間明白些什麼了
pkg-config --libs opencv
pkg-config --cflags opencv

# 合併一起
pkg-config --libs --cflags opencv

2018年5月20日 星期日

重灌電腦如何保存自己的選字習慣

重灌電腦如何保存自己的選字習慣

從右下角點輸入法右鍵內容,然後選到這裡。
這裡輸出之後到新系統再從新輸入即可

2018年5月19日 星期六

Onedrive 的檔案全消失 | 使用Dism封裝成wim來移動系統更換硬碟

Onedrive 的檔案全消失 | 使用Dism封裝成wim來移動系統更換硬碟

Windows版本1703
這個不知道算不算bug?邏輯上來說不是bug但是結果上來跟直覺就很違背!
算是一個灰色地帶吧QuQ

問題發生在我要更換SSD硬碟,系統C曹直接用 dism 封裝成 wim 過程中並沒有重新OOBE或是一般化,直接做wim
OOBE是要建立新使用者才需要,一般化則是要移動到別機才需要,這邊原機只換硬碟都不需要。
然後就是問題了!同時觸發兩個條件
  1. 因為是登入狀態所以開機直接繼承
  2. Onedrive 資料夾被 dism 排除了,所以沒有複製過去是空的!
    (想想也很正常因為直接重雲端下載是比較好的做法)
然後就很78的,登入狀態+全空的狀態下同步,同步的原因是onedrive資料夾建立的日期是因新的,但是資料夾是空的,他就判定我刪除全部了WTF!
正常情況下直覺預想狀態應該是判定重新下載同步,因為舊有的資料夾日期是舊的。
然後我就各種問號的,啊我的檔案呢QuQ
還好Onedrive有資源回收桶,我就看日期把那個時間點刪除的資料全部點還原就沒事了,不過還是很傻眼。

2018年5月18日 星期五

ubuntu linux 以 EFI 模式安裝 注意事項

ubuntu linux 以 EFI 模式安裝 注意事項

首先先到 UEFI 內將開選項設置成 only UEFI ,只啟動 UEFI 系統,至於安全啟動開啟或關閉並不重要,因為 ubuntu 也有購買認證是可以通過的。
然後就是安裝的過程,與一般MBR安裝的差別在於
  1. 自己多切一個 100M 以上的 EFI 分區
  2. 開機引導選擇安裝到 EFI 分區
傳統的MBR安裝是不需要EFI分區的所以不用切這個,引導是安裝到MBR就是直接預設選磁碟而不應該選擇任何分區。
boot 分區是用來放開機選單的 grub 的這個倒是不影響有需求再自己切
筆電或是某些版本的 UEFI 系統不會自己抓EFI開機選單,要自己進BIOS設置新增選單,通常是會讓你瀏覽到EFI分區然後選EFI文件,選文件的時候選 s 開頭的,這個有認證的可以過安全啟動。

CentOS 更改 MAC

一直改不成功,最後有找到問題是因為BIOS有打開從網路開機,關閉就好了
那時候測試出來的結果是
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR="******"
PREFIX=16
GATEWAY="********"
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=M_Mac
UUID=f8f5134b-ea3d-464f-8cde-b0737fbf8658
ONBOOT=yes
DNS1=8.8.8.8
HWADDR="要更改的"
#MACADDR="原本的"
MACADDR 好像不是用來改的,測試結果都失敗
HWADDR 改這個好像就ok了(文章事後忽然想到挖出來寫的QuQ)

2018年5月17日 星期四

微星主機板 拔過硬碟之後 windwos 無法開機

微星主機板 拔過硬碟之後 windwos 無法開機

原因在於選擇開機選項的地方,拔過之後會自己設定成 disable,然後就再也不會改回來了…
選項還藏的很裡面
圖片中有路徑,跟著按進去就可以找到這個選項了