libstdc++ 庫的原始碼其實就在 gcc 的原始碼中,gcc原始碼 有個目錄libstdc+±v3,就是它
基於 gcc-6.4.0 測試
../libstdc++-v3/configure --prefix=/opt/data/libs/libstdcpp/nttr1 --host=arm-openwrt-linux --enable-libstdcxx-threads
這是乙個基礎的編譯引數
需要在同級目錄下建立乙個編譯用的目錄,然後進入目錄裡面去編譯
- ***
- gcc-6.4.0
- libstdc++-v3
- build-libstd
交叉編譯需要提前設定好編譯工具,部分編譯是通過引數傳入
export cc=***-gcc
export cxx=***-g++
編譯之後執行,出現如下提示
symbol _ztvnst6thread6_statee, version glibcxx_3.4.22 not defined in file libstdc++.so.6 with link time reference
分析一下,應該是執行緒沒有編譯進去
看config.log
應該是 gthreads 沒有檢測通過,於是沒有編譯 thread
檢查libstdc++-v3/configure
檔案在 gthreads 的測試**,發現includefind . -name gthr.h
就可以看到
編譯目錄和原始碼目錄都會有,結構大概是
bits/gthr.h
bits/gthr-
default
.hbits/gthr-posix.h
gthr.h 中已經include 的 gthr-default.h,相關configure 中的檢測**需要的巨集定義也是這裡有。為什麼還是有問題,結果在 include 標頭檔案中指定bits/gthr.h
就可以了,就是加上前面的 bits 目錄 手動編譯原始碼安裝mysql 原始碼編譯安裝mysql
1 安裝mysql需要的依賴包 yum y install ncurses devel libaio devel 2 安裝編譯mysql需要的軟體 mysql 有3個版本分支 5.0 5.1系列 5.4 5.7系列 6.0 7.1群集產品系列 最早的mysql 5.0 5.1產品 直接.config...
chromium 原始碼編譯
以下內容基於 linux ubuntu3.0.0 16 generic 28 ubuntu smp fri jan 27 17 44 39 utc 2012 x86 64 gnu linux 參考網頁給出的步驟 1 安裝 depot tools,cd 到你想要的工作目錄 1.1 通過 svn 獲取 ...
Chrome原始碼編譯
根據中的描述,先裝vc2008,打好各種補丁,再裝june 2010 directx sdk,再裝winsdk7.1,配置vc上的路徑,在配路徑時,要把dx的路徑放到winsdk的前面。否則在編包含xinput檔案的時候會出錯。編譯時才發現chrome用起來很爽,開發起來很吃機器,真不是我這種屌絲程...