オープンソースソフトウェアのビルドについて

このQ&Aのポイント
  • プログラミングに関してはほとんど素人ですが、オープンソースソフトウェアのビルド(コンパイル)について教えてください。
  • 自分でビルドしたいソースコードはhttp://cvs.sourceforge.net/viewcvs.py/ultravnc/ultravnc/winvnc/winvncsc/およびhttp://sourceforge.net/project/showfiles.php?group_id=63887&package_id=60914&release_id=337511にあります。
  • Visual C++ Express Editionを使用してビルドを試みましたが、エラーが発生してバイナリ(winvnc.exe)が生成できません。どのように手を加えたらよいか教えてください。
回答を見る
  • ベストアンサー

オープンソースソフトウェアのビルド(コンパイル?)について

プログラミングに関してはほとんど素人ですが、よろしくお願いします。 http://cvs.sourceforge.net/viewcvs.py/ultravnc/ultravnc/winvnc/winvncsc/ http://sourceforge.net/project/showfiles.php?group_id=63887&package_id=60914&release_id=337511 上記のソース(どちらも同一)に手を加えて自力でビルドしたいです。「winvncsc」以下のファイル群が対象です。 「.dsp」という拡張子のファイルがあったので調べたところ、MS製のコンパイラがあるらしいと考えました。 http://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/ 上記URLを参考にコンパイラと必要な環境をセットアップ。そして再度「WINVNC.dsp」を開いて「ビルド→winvncのビルド」を試してみましたが、バイナリ(winvnc.exe))を生成できません。ログは以下のとおりです。 > ---- ビルド開始: プロジェクト: winvnc, 構成: Debug Win32 ------ > コンパイルしています... > cl : コマンド ライン warning D9035 : オプション 'Fr' の使用は現在推奨されていません。今後のバージョンからは削除されます。 > cl : コマンド ライン warning D9036 : 'FR' を使用してください ('Fr' は使用不可) > cl : コマンド ライン error D8004 : '/D' には引数が必要です > ブラウザ情報ファイルを作成しています... > Microsoft Browse Information Maintenance Utility Version 8.00.50727 > Copyright (C) Microsoft Corporation. All rights reserved. > BSCMAKE: error BK1506 : : No such file or directory > ビルドログは "file://*省略*\Debug\BuildLog.htm" に保存されました。 > winvnc - エラー 2、警告 2 > ========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ これだけの情報ですみませんが、何かヒントをいただけますでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.3

#2です。 各オプションについてURLを載せておきます。 FR Frオプションについての説明です。 http://www.microsoft.com/JAPAN/developer/library/vccore/_core_.2f.fr.2c_2f.fr.htm Dオプションについての説明です。 http://www.microsoft.com/JAPAN/developer/library/vccore/_core_.2f.d.htm

dcorange
質問者

お礼

> 正常に動くように各部を書き直す必要があるのでは まったくそのとおりのようです。それなりにテクニックを 要することのようなので、今回は見送ることにしました。 提供されているソース自体がそのうち最新のコンパイラ対応に なるかもしれないですし。 ありがとうございました。参考になりました。

dcorange
質問者

補足

この場合、単純にFrをFRと書き換えるだけではなく、FRと書き換えても正常に動くように各部を書き直す必要があるのではないでしょうか。 自分の判断ではマイクロソフトのVisual Cでコンパイルするものと思ったのですが、その判断は合ってますでしょうか?

その他の回答 (2)

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

まずdspファイルというのはvc++6.0以前のプロジェクトファイルの拡張子です。 >cl : コマンド ライン error D8004 : '/D' には引数が必要です そのdspファイルをテキストエディタで開くと「/D」となっている箇所があると思います。 まず/Dについて説明すると /D "XXX" でソース全体に #define XXX と書いたのと同じ効果がでます。 恐らくそのdspファイルの中で/D の後何も記述してない箇所があるのではないでしょうか? その部分を編集してみてください。

dcorange
質問者

補足

http://forum.ultravnc.net/viewtopic.php?t=4861 http://turing.fh-landshut.de/~jamann/compileultravnc/ 参考になりそうな情報を見つけました。 設定を一部変更する程度では対応できなさそうなので 早々に諦めるべきかという気がしてきました。 せっかくアドバイスをいただけたのに、申し訳ありません。 また機会がありましたらよろしくお願いします。

noname#21528
noname#21528
回答No.1

VC6.0用のプロジェクトファイルなので、VC6.0を買ってくると言うのも一つの解になります。

関連するQ&A

  • ビルドから除外されたソースのコンパイル

    現在、Visual Studioを使用してある巨大なプロジェクトを開発しています。言語は C++です。 このプロジェクトには、ソースファイル(*.cpp)が全部で1000以上もありま す。百ではありません、千です。 そのため、プロジェクトをビルドするのに30分以上もかかり、開発効率が非常に悪 くなっています。 コンパイル・リンクとも相当の時間がかかっています。実感としては、cpp1ファイ ルにつきコンパイル1秒かかっています。 (なぜそんなに大量のcppが必要なのかというのはここでは置いといてください) そこで、次のような方法でビルド時間を短縮する方法を考案しました。 (1)ある一定数のソースファイルのプロパティで「ビルドから除外」とする。 (2) (1)でビルドから除外したソースファイルを全てインクルードしたソース ファイルを作成し、プロジェクトに追加する。 [1つにまとめたソースファイルのイメージ] #include "src001.cpp" #include "src002.cpp" #include "src003.cpp" ・・・ #include "src999.cpp" ソースファイルを1つにまとめてしまう事による弊害は全て解決したものとします。 以上により、プロジェクト内のソースファイル数を100以下にまで減らし、無事ビ ルド時間が大幅に短縮されました。 と、ここまでは良かったのですが、一つ問題があります。 それは、「ビルドから除外」したソースファイルを単独でコンパイル出来なくなって しまうのです。(ここでは、そういうことをしたいという要望があると思ってくださ い) ソリューションエクスプローラでソースファイルを右クリックし、出てくるメニュー リストの「コンパイル」が無効表示され選択できません。 もちろん、コンパイルコマンド(cl.exe)をコマンドラインから直接叩いてやればい くらでも出来ますが、出来ればIDEから簡単な操作で行いたいのです。 また、チームで開発しているため、コンパイルする時だけソースファイルの設定を変 更するというようなことはしたくないのです。 この問題に対して、何か良い手段はないでしょうか? プロジェクトを複数モジュールに分離して・・・ とか、 プリコンパイル済みヘッダを利用して・・・ とか、 リビルド時間を短縮するためソース間の依存関係を減らして・・・ というような、質問の内容を超える回答はご遠慮ください。 そのようなことは、十分ではないかも知れませんが検討済みです。

  • warning D4029

    Microsoft Visual C++ .net を会社で購入。 早速VC++ V6.0 SP5でコンパイルの通っていたソースを コンパイルしてみたところ下記warningが出ています。 「cl : コマンド ライン warning D4029 : 標準の編集コンパイラでは最適化は使用できません。」 色々と探ってみたもの皆さん「無視」しているようです。 しかし、お客さんに納品するモジュール。無視する事が出来ずに悩んでいます。 原因など教えて下さい。明日納品なのに・・・・

  • PlatformSDKのサンプル等のビルド

    DirectShowの機能を使おうと考え,Windows Server 2003 SP1 Platform SDKをインストールしました. BaseClassesのビルドを行ってstrmbasd.lib等を得るために,バッチファイルをもちいてnmakeコマンドによりビルドしたのですが,下記のようなエラーが出てしまい,ビルドができませんでした.他のサンプルも似たようなエラーが出てしまい,ビルドできません. 対処の仕方がわからず,困っております. C:\Program Files\Microsoft Platform SDK\Samples\Multimedia\DirectShow\BaseClasses\ctlutil.h(278):error C4430: 型指定子がありません C:\Program Files\Microsoft Platform SDK\Include\uuids.h:warning C4819: ファイルは,現在のコードページ(932)で表示できない文字を含んでいます. NMAKE:fatal error U1077: 'cl': return code '0x2'Stop ちなみに開発環境はOS:windowsXP sp2,Visual Studio 2005 Standardを使用しています. よろしくお願いします.

  • EclipseでVC++をつかう

    VC++を使いたいのですが **** Rebuild of configuration Debug for project testcpp **** **** Internal Builder is used for build **** cl /c /EHs /MD /Zi /Ic:\program files (x86)\microsoft visual studio 10.0\vc\include\ /nologo /Fosrc\xxxxx.obj ..\src\xxxxx.cpp Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. cl : コマンド ライン error D8003 : ソース ファイル名がありません Build error occurred, build is stopped Time consumed: 251 ms. となってしまってビルドできません よろしくお願いします

  • Visual StudioのGUIとコマンドラインによるコンパイル

    Visual Studio .NET2003を使ってます. 普段GUIでビルドしているのですが, それをコマンドプロンプトからclとlinkコマンドでやろうと思いました. プロジェクトのプロパティの 「C/C++」と「リンク」それぞれの「コマンドライン」というところで確認できるオプションを それぞれそのままclとlinkの後ろにコピペして実行しました. (clの方はソースファイルも最後に追加して.) ところが,出来上がったDLLの挙動が, GUIでビルドした場合と違っています. (JNIでJavaから呼び出しているのですが, コマンドプロンプトから実行した方は呼び出すときにエラーを出します.) GUIでやろうがコマンドラインからやろうが 同じ挙動になると思っていたのですが, 必ずしもそうではないのでしょうか. 用意した環境の不備など何かの見落としによりありえるのでしょうか. アドバイス頂ける方いらっしゃいましたら,お願い致します.

  • C++コンパイル時ファイル名文字化け D4024

    開発環境 visual studio 2013 ソースコード // ConsoleApplication2.cpp : Defines the entry point for the console application. // #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { return 0; } コンパイル結果 1>------ Build started: Project: ConsoleApplication2, Configuration: Debug Win32 ------ 1> Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86 1> Copyright (C) Microsoft Corp 1984-1998. All rights reserved. 1> 1> cl / 1> 1>CL : Command line warning D4024: unrecognized source file type '/', object file assumed 1> Microsoft (R) Incremental Linker Version 12.00.21005.1 1> Copyright (C) Microsoft Corporation. All rights reserved. 1> 1> /out:.exe 1>LINK : warning LNK4001: no object files specified; libraries used 1>LINK : warning LNK4068: /MACHINE not specified; defaulting to X86 1>LINK : fatal error LNK1561: entry point must be defined ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== エラーリスト Warning 1 warning D4024: unrecognized source file type '/', object file assumed Warning 2 warning LNK4001: no object files specified; libraries used Warning 3 warning LNK4068: /MACHINE not specified; defaulting to X86 Error 4 error LNK1561: entry point must be defined 自分で何時間リサーチしてみて、収穫なし、解決できず ファイル名、ファイルアドレスは全部半角英文字、スペースなし セーブ時の文字コードをunicodeにしても治らず ギブアップです、もし解決策がわかる方がいらっしゃるならぜひお願いいたします! どうしても治らなかったらVS2013を再インストールしてみるつもりです それでもだめならeclipseにもどります

  • Microsoft visual C++ Express Edtionでビルドできない

    Microsoft visual C++ Express Edtionを使っていますが、次のプログラムをビルドして、実行ファイルを使おうとすると次のエラーがでます。何処が違っているでしょうか? /* 整数値との和を表示する */ #include <stdio.h> int main(void) { printf("%d", 15 + 37); return (0); } ------ ビルド開始: プロジェクト: test2, 構成: Debug Win32 ------ リンクしています... LINK : fatal error LNK1104: ファイル'.\Debug\stdafx.obj' を開くことができません。 ビルドログは"file://d:\MYDOCUMENTS\Visual Studio 2005\Projects\test2\test2\Debug\BuildLog.htm" に保存されました。 test2 - エラー1、警告0 ========== ビルド: 0 正常終了、失敗、更新、スキップ==========

  • VC Express ユーザー権限での使用方法

    Microsoft Visual C++ 2010 Express を、Administrator 権限のない(インストールできない)状態で使う方法を、ご存知の方がいらっしゃいましたら教えていただきたくお願いします。 推奨される条件ではないかもしれませんが、そこを可能にする方法をお願いします。 レジストリを編集すれば使えるのでしょうか・・ cl.exe やその他関連ファイルへのパスを一通り通しても、 「cl : コマンド ライン error D8027 : 'C:\My Program Files(自作フォルダ)\Microsoft Visual Studio 10.0\VC\BIN\c1xx.dll' を実行できません」というエラーが出て、コンパイルもできませんでした。 OS : Windows XP 用途 : コマンドラインベースの実行ファイルを、 cl, link, nmake などコマンドラインツールを使って(GUIのウィザード類を使わず)ビルドしたいと考えております。

  • コンパイルできない "clは内部コマンド・・・

    独習Cという本を見て Microsoft.NET Framework SDK2.0のインストールとBorland C++ Compiler5.5をインストールして環境変数のPathの変数値の末尾に「;c:\borland\bcc55\Bin」と入力して設定したのですが、コマンドプロンプトでprog.cというファイルを作り、コンパイラすると「clは内部コマンド...」というエラーがでます。 パソコンの環境はvistaを使用し、秀丸エディタでファイルは作りました。 コマンドプロンプトに 「C:\Users\ユーザー名>cl prog.c」としたのですが何か根本的に間違えているのでしょうか?教科書を見る限りこれ以上設定する項目はないのですが。

  • Relaeaeモードでビルドできない。

    こんにちは。皆様に教えて頂きたいのですが、いまDebugモードでビルドできているのですが、Releaseモードで同様にやると、「fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました」と出ます。そこで、 関係するsourceの*.cのヘッダーに#include "stdafx.h"を加えたところ、「fatal error C1853: 'Release/***.pch' プリコンパイルされたヘッダー ファイルは、このバージョンのコンパイラと互換性がありません。」とエラーが出ます。どこが間違っているのかお分かりの方教えて頂けませんでしょうか?よろしくお願いいたします。

専門家に質問してみよう