1. 編譯x264時出現 No working C compiler found.
如果是用mingw平台編譯的,需要配置你的mingw/bin目錄到PATH路徑下。確定路徑配置正確後,還不可以。如果用的是最新的x264,之前的mingw平台版本太低,升級mingw平台就可以了。
2. linux下,linphone怎麼支持x264編碼
你下載個 ffmpeg試試,然後安裝的時候橡慎注意安裝的燃如純步驟。:以
x264-snapshot-20101130-2245.tar.bz2為例
./configure --disable-asm
make
(把x264的靜態庫和頭文件拷皮咐貝到相應位置,即gcc查找庫和頭文件的目錄)
cp libx264.a /usr/lib
cp x264.h /usr/include
3. linux下安裝了x264,函數調用時找不到x264的相應函數
linux下安裝了x264,函數調雀和用時找不到x264的相應函數,錯誤扮凳原因是頃缺盯編譯沒有找到x264庫:
gcc -c yuvTO264.c -L /usr/x264Library(x264庫)
正確編譯為:gcc yuvTO264.o -o yuvTO264 -L /usr/local/bin -I x264頭文件
4. linux下安裝了x264,函數調用時找不到x264的相應函數
錯誤可能是編譯沒燃兆有穗咐找到x264庫:皮族租
gcc -c yuvTO264.c -L /usr/x264Library(x264庫)
5. 【x264編譯】#ifdef HAVE_STDINT_H在哪裡定義
這種預編譯宏不存在「定義不同」這種說法,而應該說是「有沒有被定義」吧
#ifdef判斷的不也是也沒有定義么
你在包含上面這段代碼之前自己定義這個宏試試吧
#ifndef HAVE_STDINT_H
#define HAVE_STDINT_H
#endif
在自己的文件裡面修改,而不要去該系統的頭文件
6. linux下編譯ffmpeg時關於configure的問題.
看到個類似的問題:
www.avidemux.org/smf/index.php?topic=11974.0
你這個東西真不好說,不過看來是 x264 因為是靜態編譯,靜態編譯我記得需要別的函數庫也是靜態的。你這個應該是 x264 本身就有找不到的函數入口問題,導致現在傳染給了 ffmpeg 。
你看看 config.log 這堆錯誤前面的編譯命令和編譯對應的文件,應該是可以通過增加 lib 目錄解決。但也不排除可能你還需要別的程序的靜態庫。
話說 __pow_finite 應該是 glibc 的函數庫提供的吧?按說 glibc 應該肯定在 GCC 調用的 lib 目錄裡面啊。
7. linux里opencv怎麼交叉編譯
一、交叉編譯opencv 構造: 下載:各個庫的下載可以直接搜名字到官網下載 幾個關鍵解釋: 「--prefix=」 後邊跟make install時的位置,本例中,libz在make install時將安裝到/usr/arm-linux-gnueabihf中 「--host=」 後邊跟arm-linux表明使用的是ARM環境 有configure的才能進行configure配置 4)所有的makefile修改類似 Libz的交叉編譯 第一步:# ./configure --prefix=/usr/arm-linux-gnueabihf --shared 第二步:修改makefile,主要有下邊幾個,修改的時候通篇參照即可 CC=arm-linux-gnueabihf-gcc AR=arm-linux-gnueabihf-ar rc RANLIB=arm-linux-gnueabihf-ranlib STRIP = arm-linux-gnueabihf-strip 如果有ARCH的話,ARCH=ARM 第三步:#sudo make #sudo make install Libjpeg的交叉編譯 第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static CC=arm-linux-gnueabihf-gcc 第二步:參考1)中方法修改makefile 第三步:#sudo make #sudo make install Libpng的交叉編譯 第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static CC=arm-linux-gnueabihf-gcc 第二步:參考1)中方法修改makefile 第三步:#sudo make #sudo make install Yasm的交叉編譯 第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static 第二步:修改makefile 第三步:#sudo make #sudo make install Libx264的交叉編譯 第一步:#CC=arm-linux-gnueabihf-gcc ./configure --enable-shared --host=arm-linux --disable-asm --prefix=/usr/arm-linux-gnueabihf 第二步:修改config.mak里的參數,因為makefile要調用config.mak,所以修改方法同makefile 第三步:#sudo make #sudo make install Libxvid的交叉編譯 第一步:首先切換目錄 #cd build/generic 第二步:#./configure --prefix=/usr/arm-linux-gnueabihf --host=arm-linux --disable-assembly 第三步:#sudo make #sudo make install ffmpeg的交叉編譯 第一步: ./configure --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabihf-gcc --arch=arm --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-ffmpeg --disable-ffplay --enable-ffserver --enable-swscale --enable-pthreads --disable-yasm --disable-stripping --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/arm-linux-gnueabihf/include --extra-ldflags=-L/usr/arm-linux-gnueabihf/lib --prefix=/usr/arm-linux-gnueabihf 第二步:修改makefile文件 第三步:#sudo make #sudo make install 第四步:將ffmpeg加入pkg-config 執行#sudo gedit /etc/bash.bashrc,在末尾加入 export LD_LIBRARY_PATH=/usr/arm-linux-gnueabihf/lib/ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/arm-linux-gnueabihf /lib/pkgconfig export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR:/usr/arm-linux-gnueabihf /lib/ 完畢後使用命令:#source /etc/bash.bashrc 或者單獨使用三個export,不過壽命只在一個終端中,終端關閉時就失效。 幾個關鍵解釋:--extra-flags指向xvid的安裝路徑,--extra-ldflags指向x264的路徑 安裝cmake-gui 執行:#sudo apt-get install cmake-qt-gui Opencv的交叉編譯 第一步:修改opencv/platflrms/linux/目錄下的arm-gnueabi.toolchain.cmake,將其所有刪掉,寫入: set( CMAKE_SYSTEM_NAME Linux ) set( CMAKE_SYSTEM_PROCESSOR arm ) set( CMAKE_C_COMPILER arm-linux-gnueabihf-gcc ) set( CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++ ) 第二步:在opencv目錄下新建build目錄,進入build目錄,執行命令: #cmake -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake ../ 這時,要保證出現: 第三步:使用cmake-gui打開CMakeCache.txt,去掉所有的無關項,修改CMAKE_INSTALL_PREFIX,來確定make install的目錄 第四步:#sudo make #sudo make install 可能出現的錯誤: opencv編譯不通過,出現skip之類的,說明ffmpeg沒編譯好,或者其編譯好了,但是pkg-config沒有設置好,一定要設置好其環境 前邊幾步不通過的話,看看命令有沒有少,或者有沒有修改好makefile 在arm上使用時,一種方法時直接將編譯好的opencv目錄下的lib文件拷貝到開發板對應的/lib目錄下,其他或者拷貝到自己指定的目錄,並設置好環境變數即可使用