背景:元のプロジェクトGCCコンパイラ環境下では(腕-Linux 32ビット)、x86ベースのLinux 64ビットコンパイル環境の増加、コンパイラカールライブラリエラーが発生しました。
その他:64ビットサーバーCentOSにコンパイル
コンパイルエラー
/include/curl/curlrules.h:142:3:エラー:配列「__curl_rule_01__」の大きさは負である
__curl_rule_01__
解決プロセス:
curlrules.hで:1.は、32ビット、64ビット画像のビルド環境でプログラムされているオンライン検索を引き起こしました。このエラーは、故意に検査データ型サイズの一部として強制されます。
2.インターネットによる変更しよう:CURL_SIZEOF_LONGとCURL_SIZEOF_CURL_OFF_Tが、問題を解決しませんでした。
ヒントはcurlrules.hヘッダファイルのエラーであるため、3。アイデアは、それが直接のヘッダファイルを変更することはできませんそれは64
検索コマンドは、自分のCentOSにカールのライブラリを持っては/ usr /含ま-name curlrules.hを、見つけます、
そうは/ usr /含まれるように設定されたプロジェクトファイルのパスに直接向かうが、それは他のライブラリにヘッダファイルのパスに影響を与えます。
4.さらなる改善、オリジナルのカール・パスにフォルダ全体は、元の古いカール、カール新しいリネームcurl64との競合を避けるために、以下のものを含みます
5.次に[OK]を、その後、翻訳、書式#include <curl64 /にすべての#include <カール/グローバルを置き換えるために、元のコードを変更
要約:
1.あなたは、古いプロジェクト環境を考慮していない場合は、直接交換カールヘッダ
そして2.あなたは、共存する他の環境をプロジェクトのヘッダファイルのカール64が元のパスにコピーして名前が付けられ入れたい場合はcurl64が含まれ、<curl64 /の#includeを置き換える変更する#include <カール/グローバルにソースコードを変更
まず、ポスト、よく書かれ、展示会