問題タブ [cflags]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - Swift Package Manager が nonWhitelistedFlags エラーをスローする
この問題は、pkgConfig を使用する必要があり、pkgConfig にフラグ定義が含まれているシステム モジュールで発生します。
ImageMagick (自作)
2 つのパッケージを作成します: CMagicWand、type system-module
module.modulemap
Package.swift
次に、MagicWand タイプ ライブラリ パッケージからそれを使用しようとします。
Package.swift
pkgConfig MagickWand.pc
このセットアップで、2 番目のパッケージの迅速なビルドを実行すると、出力は次のようになります。
問題のある CFlags を対応する .pc ファイルから削除しようとしましたが、それらを削除する方法を見つけても役に立ちません (いつでも独自の .pc ファイルを作成できます)。これらのフラグには理由があります。
ターゲット システム (Ubuntu) の mysqlclient で同じ問題が発生しました。この問題は OS X では再現できませんが、役に立ちません。
エラーは func ホワイトリスト ( https://github.com/apple/swift-package-manager/blob/master/Sources/PackageLoading/Module%2BPkgConfig.swift ) から発生し、拡張する方法がわかりません実行時にリストします。この制限に苦しんでいるのは私だけではないと思いますが、すでに数日間回避策を見つけることができません.
c - CFLAGS CPPFLAGS と LDFLAGS は cc を呼び出しますが、値を gcc に渡しません
簡単な printf C コードを書き、簡単なメイクファイルを作成しました。CFLAGS、CPPFLAGS、および LDFLAGS を使用して make を実行すると、変数の値が cc 実行に入り、その後、次のようにそれらの値を使用せずに gcc が実行されます。
ビルドされたプログラムを実行すると、定義されていない #else の printf が返されるため、define は定義されていません。
teste.c
メイクファイル