問題タブ [nmake]
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.
dependencies - NMAKE による自動依存関係追跡
VS 2005 コンパイラを使用して NMake makefile のソース依存関係を自動的に検出することは可能ですか (GNU make および GCC コンパイラで実際に可能)?
GCCの「-M」オプションを見てください。GCC の出力テキストを makefile に含めると、GCC の呼び出しは偽のターゲットを使用して自動化できるため、ソースの依存関係を維持せずに自動的に追跡します。
windows - デバイスドライバのソースファイルの前処理
適切な構文はありますか?
c - nmake から: 「ターゲット `*.rc' を作成する規則がありません」
私は、Windows 7 システムのソースから、パテの変種であるパテ トレイを構築しようとしています。いくつかの追加機能を実装する必要があるため、ダウンロードするだけでなく、ビルドする必要があります。私は nmake と (関係ないはずですが) Microsoft C++ コンパイラを使用しています。正確には、コマンド ウィンドウで作業しており、パテ ソースの WINDOWS フォルダーにいて、コマンド nmake -f MAKEFILE.VC を実行しています。
C ソースは正しくコンパイルされますが、理解できないエラーが発生します。
特定のファイルを作成できないと言われたら、それが何を意味するかを完全によく理解しています。それは、ファイルが見つからないことを意味します。しかし、これがワイルドカードでどのように理にかなっているのかわかりません。
MAKEFILE.VC のおそらく関連する部分は次のとおりです。
そして、はい、フォルダに *.rc ファイルがあります: PAGEANT.RC、PLINK.RC、PSCP.RC、PSFTP.RC、PUTTY.RC、PUTTYTEL.RC
何か案は?
32-bit - 32 ビット Detours ライブラリの構築
Microsoft の Detours ライブラリを使用しており、32 ビット バージョン (無料) を使用していました。現在、Windows 7 の 64 ビット インストールを使用していますが、nmake で Detours をコンパイルできないようです。
エラーは次のとおりです。
ご覧のとおり、64 ビット用にコンパイルしようとしています。nmake を強制的に 32 ビット用にビルドするにはどうすればよいですか?
ありがとう、デイブ
nmake - nmakeからファイルを読み取る方法がわかりません
私はこのようなことをしています:
ただし、filecontent
変数はファイルの内容を保持していないようですsomefile.txt
。
visual-studio - Visual Studio Makefile プロジェクトの同期
C++ 中心のソリューションで再利用する予定の C99 コードをいくつか継承しました。残念ながら、Microsoft の最新のコンパイラでさえ、重要な C99 機能を実質的にサポートしていません。
問題のコードは徹底的にテストされており、C++ で書き直すという面倒なことはしたくありません。つまり、コードをそのまま再利用するには、適合するサードパーティ コンパイラに依存する必要があります。
周りを見回した後、このコードを統合するための最も良い方法は、ソリューションに「Makefile プロジェクト」を追加することです。1つだけ問題があります。「Build Command Line」プロパティを、Visual Studio を介してプロジェクトに追加するファイルと同期させるのは私の責任のようです。
一見すると、通常の Visual Studio の $() スタイル マクロを使用してプロジェクト内のファイルのリストを取得する方法が見つかりませんでした。ソース ツリー内の* .c ファイルを列挙し、それらのパスをサードパーティ コンパイラに渡すシェル スクリプトをいつでも作成できます。ただし、関連する *.vc[x]proj ファイルにこの情報が既に含まれているため、Visual Studio が少なくともその部分の作業を行うことを期待していました。
このプロジェクトに新しいソース ファイルを追加する必要がある可能性はほとんどありませんが、それでも、この種の手動同期 (つまり、スクリプトを使用しない) はかなり脆弱に思えます。
ヘルパー スクリプトを作成する以外に、どのようなオプションがありますか?
visual-studio-2010 - Windows 7、Visual Studio 2010、およびコマンドラインでのCMakeの使用
コマンドラインでVisualStudio2010でCMakeを使用するにはどうすればよいですか?
Visual C ++ Express Edition(2010)では、次のように入力します。
単純。
Visual Studio 2010で、CMakeがMakefileの代わりにソリューションファイルを生成することに気づきました。だから私はタイプします:
しかし、それでは何ですか?以前は「nmakeinstall」と入力すると、プロジェクトがインストールされていました。プロジェクトをインストールするには、今何を入力しますか?
c++ - FORTRANをC/C++に変換する
最終年度プロジェクトの一環として、FORTRANコードをCまたはC ++に変換する必要があります(理解できる限り、どちらの言語でもかまいません。Cスタイルの言語も理解できます)。
FORTRANをCに変換するプログラムであるf2cを発見し、手順に従って、makefile.vcファイルをドライブに保存してからインストールしようとしました。
(これは、f2cダウンロードページに含まれているf2cのインストールに関するREADMEファイルの一部です)
LinuxまたはUnixシステムでf2cをコンパイルするには、makefile.uをmakefileにコピーし、必要に応じてmakefileを編集し(以下のコメントを参照)、「make」(またはシステムによっては「nmake」)と入力します。
Microsoft Visual C++を使用するMSWindowsシステムでf2c.exeをコンパイルするには、
makefile.vcmakefilenmakeをコピーします
他のPCコンパイラでは、xsum.cを-DMSDOS(つまり、MSDOS #defined)でコンパイルする必要がある場合があります。
コンパイラがANSI/ISO C構文を理解していない場合(つまり、K&R Cコンパイラを使用している場合)、-DKR_headersを使用してコンパイルします。
ファイルに個別のバイナリモードとテキストモードがある非Unixシステムでは、「makexsum.out」ではなく「makexsumr.out」が必要になる場合があります。
x64ビットバージョンのWindowsVistaを実行していて、「nmake」を試しましたが、
'nmake'は、内部または外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません。
検索後にNmake15.exeをダウンロードしましたが、x64ビットマシンでは動作せず、動作するバージョンがないようです。そこで、動作すると言われた後、Windows SDKをダウンロードしましたが、何も変わりませんでした。
もしそうなら、私はこれらすべてでどこで間違っていましたか、そしてそのFORTRANコードをCまたはC ++に変換する方法はありますか?
makefile - NMake でのファイルの存在のテスト
GNU Make の makefile では、次のイディオムを使用して、ファイルが存在するかどうかをテストします。
しかし、NMake では動作しません ( fatal error U1000: syntax error : ')' missing in macro invocation
)。どうすれば交換できますか?置換が両方のビルド システムで機能する場合は完璧です。
c - C: LINK.EXE は Makefile からは失敗しますが、コマンド ラインからは失敗しません。
メイクファイルからリンクしようとすると、次のエラーが発生します。
Makefile の実行:
ただし、失敗したのとまったく同じ行を再実行し、コンソールからリンクすると、ビルドが成功します。私はまったく同じものを使用してlib
おり、obj
それは私のメイクファイルから作成されたものです。
コンソール実行:
参照用にメイクファイルを含めました。
メイクファイル
テスト
Visual C バージョン 9 とバージョン 10 の両方でこれをテストしました。コマンド ラインに手動で入力すると、makefile では失敗するのに、なぜ正常に実行されるのか混乱しています。
解決:
/E - マクロ変数を環境パスでオーバーライドします。