1

私は cmake を使用して Code Composer Studio プロジェクトを構築しようとしていますが、これは私にとって初めてのことです。Linux では問題なくビルドできますが、Windows で動作させるのに苦労しています。cmakeコマンドは問題なく実行されmakeますが、最初の C オブジェクトで最初#includeのエラー コードで失敗します。

fatal error: could not open source file "stdbool.h" (no directories in search list)

CCS のコンパイラ (c6000_7.4.15) に含まれているライブラリを使用しており、そのフォルダー全体が CSS プロジェクトに含まれています。私はそれをcmakeにも含めます。私の.cmakeファイルで:

set (CCS_ROOT ${CCS_ROOT_V6_WIN} CACHE PATH "code composer install directory")
set(CGT_COMPILER_ROOT ${CCS_ROOT}/tools/compiler/c6000_7.4.15 CACHE INTERNAL "DSP Compiler Root")`

そして、CMakeLists.txt ファイルで:

set (COMPILER_INCLUDE ${CGT_COMPILER_ROOT}/include)
INCLUDE_DIRECTORIES ("${COMPILER_INCLUDE}")

プロジェクトでリンクされているときにヘッダー ファイルを開くことができず、CMake がそれらを正常に検出できるのはなぜですか?

編集: ディレクトリ構造が変更されたため、すべての外部ファイルをプロジェクトに直接追加して、完全にプラットフォームに依存しないようにしました。そうすれば、プロジェクトは Git リポジトリによって管理されるため、ユーザーはプロジェクトをビルドするために CSL やその他のプログラムをインストールする必要がありません。これは、ライブラリとヘッダー ファイルへのパスが、リビジョンと環境の間で変更されないことも意味します。

残念ながら、これで問題は解決しませんでした。プロジェクトは Linux で引き続きビルドされますが、最初にインクルードされたヘッダー ファイルを ind することはできません。また、Windows では、相対パスを指定しない限り、独自のヘッダー ファイルを見つけることができないことにも気付きました。たとえば、コンパイラ ディレクトリへの絶対パスを指定すると検索できますが、ファイル間の追加の壊れたリンクの Web が公開されます#include "../Common.h"。.makestdbool.h

補足として、プロジェクトは Code Composer Studio 内で正常にビルドされるため、これは特定の Windows 環境やプロジェクト内のコードの問題ではないと想定しています。

4

1 に答える 1

1

これは の問題のようgcc.exeです。ビルド スクリプト内で環境変数CCを別のコンパイラ (私の場合は TI コンパイラ) のパスに設定すると、問題が解決しました。

于 2015-09-24T12:33:57.490 に答える