• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:libjpeg.libの作り方 c++/cli)

libjpeg.libの作り方 c++/cli

このQ&Aのポイント
  • jpegsr9a.zipをダウンロードしてlibjpeg.libを作成する方法についての質問です。
  • マルチスレッド DLLとマルチスレッド デバッグ DLLの違いや設定方法について知りたいです。
  • release用とデバッグ用のmakefile.vcの作成方法について教えてください。

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

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1624/5664)
回答No.1

わかる分だけ。 >2.15行目の変更方法は? >オリジナル >CFLAGS= $(cflags) $(cdebug) $(cvars) -I. >これにオプションを追加する記載はこの様に2行になると、2行目しか認識されませんよね? >どの様に記載するのか教えていただけないでしょうか? 1行目の定義は2行目の定義で置き換えられるのは確かですが、6の文章をよく読みましょう。 6に書いてあるのは、「マルチスレッド」「マルチスレッド デバッグ」「マルチスレッド DLL」「マルチスレッド デバッグ DLL」をそれぞれ作る度にCFLAGSを書き換えてくださいって事です。 >3.「release用の場合は nodebug=1 オプションを末尾に付ける」とは以下の様にするのでしょうか? あってます。 >※release用を別メイクするのなら、2.のオプションはデバッグとリリースで別々に作成して実行するのでしょうか? リリース用とデバッグ用はmake時にnodebug=1を指定するかしないかで行われるので別々に作成する必要はありません。

usami33
質問者

お礼

回答ありがとうございます。 なんとか作成することができました

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VC++2005で、リリースモードとデバッグモードの2通りをコマンドラインで行いたい。

    VC++2005で、リリースモードとデバッグモードの2通りでコンパイルしたいのですが、GUIでなく、コマンドラインでコンパイルしたいです。 オプションで、リリースモードの時のオプションとデバッグモードの時のオプションが知りたいです。 あと作成した、DLLやEXEからこれはデバックモード、リリースモードとわかる方法が知りたいです。 32/64bitの判定は、 dumpbinコマンドで分かりました。

  • 参照設定ができない

    VB5.0SP3で自作DLLの参照設定を行おうとすると 次のようなメッセージが出て設定できません 「指定されたファイルへの参照は登録できません」 DLLはC言語で作っていてコンパイルはVC++6.0SP6で 行っています VCのコマンドでコンパイルして作ったDLLとプロジェクトを作成してビルドして作ったDLLでもだめでした どうすれば参照設定が出来るようになるのでしょうか? ソースは次のようになっています a.defの内容: LIBRARY a EXPORTS int2byte a.cの内容: #include <stdio.h> #include <string.h> #include <windows.h> #define DLLEXPORT __declspec(dllexport) union { short s; char c[2]; } ib; DLLEXPORT int __stdcall int2byte(short a, char* b){ ib.s = a; b[0] = ib.c[0]; b[1] = ib.c[1]; return 0; } makefileの内容: CC = cl SHLD = cl /LD CFLAGS = /nologo /O2 /GR- /GX- LDFLAGS = /nologo LIBS = .c.obj: $(CC) $(CFLAGS) -c $*.c a.dll: a.obj $(SHLD) /o $@ $(LDFLAGS) a.obj a.def $(LIBS)

  • VisualStudio2005でのビルドについて

    VisualStudio2005でのビルドについての質問です。 作成したプログラムを他のPCで起動できるようにビルドする方法で 1:プロジェクト(P)→○○ のプロパティ→構成プロパティ→C/C++ 2:ランタイムライブラリをMT(マルチスレッド)に変更 3:ビルド(B)→構成マネージャー 4:構成をDebug→Releaseに 5:ビルド(B)→○○ のビルド(U) で他のPCでも起動出来ることを確認したんですけど 2:のランタイムライブラリをMD(マルチスレッドDLL)に 変更した場合の他PCで起動できるようにするための方法が 全くわかりません。分かる方いましたらよろしくお願いします。

  • BCBで作成したDLLを、VC++で静的リンクさせる方法

    BCBで作成したDLLを、VC++で静的リンクさせる方法 Borland C++ Builderで作成したDLLを、VC++アプリケーションで利用できるように LIBファイルに変換したいのですが、上手くいきません。 下記の手順を踏みました。 1. BCBでDLL作成   「VC++スタイルのDLL」で作成、   「VCLを使う」「CLXを使う」「マルチスレッドを使う」はチェックせず 2. コマンドラインで「IMPDEF.exe」を使用して、dllからdefファイル作成   (IMPDEF.exeは、\Borland\CBuilder6\Binに格納されていた) 3. コマンドラインで「LINK.exe」「LIB.exe」を使用して、defからlibファイル作成   (LINK.exeとLIB.exeは、\Microsoft Visual Studio\VC98\Binに格納されていた) 4. VC++プロジェクトファイルを保存したフォルダに、DLLファイルとlibファイルをコピー 5. VC++の「プロジェクト」-「設定」-「リンク」-「オブジェクト/ライブラリモジュール」に   作成したlibファイルを追加 VC++プロジェクトをビルドすると、下記のエラーメッセージが表示されます。 ///////////////////////////////////////////////////////////////////////////////// dllread.obj : error LNK2001: 外部シンボル "__imp__(関数名)@0" は未解決です LIBC.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です Release/dllread.exe : fatal error LNK1120: 外部参照 2 が未解決です。 link.exe の実行エラー ///////////////////////////////////////////////////////////////////////////////// BCBとVC++のバージョンは、下記の通りです。 BCB Professional 6.0 VC++ 6.0 ちなみに、同じDLLを動的リンクで利用することは出来ました。 初心者の質問で申し訳ございませんが、解決策が分かる方がいらっしゃいましたら 教えていただけないでしょうか?

  • VC++6.0からVC++2010への移行

    マシンAの VC++6.0 から マシンBの VC++2010 へ移行し、Releaseモード でビルドした結果、正常動作しませんでした。 Releaseモード、Debugモード ではエラー、警告ともにありません。 ■ 6.0 と 2010 パラメータ ■ ・共有 DLL で MFC を使う ・マルチスレッド DLL ・警告レベル 3 ■マシンA環境■ ・Windows XP Professional 2002 Service Pack 2 ・.NET Framework 1.1 ・Visual Studio 6.0 Enterprise Edition ■マシンB環境■ ・Windows XP Professional 2002 Service Pack 3 ・.NET Framework 1.1 、2.0 、3.0 、3.5 、4.0 ・Visual Studio 2005 Professional Edition ・Visual Studio 2010 Professional Edition ・Visual C++ 2008 Redistributable 作業の経緯と致しましては、6.0 のプロジェクトを VS2008 でビルドし、 sln ファイルを生成しました。 その後、生成された sln ファイルをもとにVS2010でエラーと警告の解除作業をしました。 Debugモード で エラー、警告 がないことを確認し、Releaseモード でビルドした結果、現状に至っております。 マシンB環境で問題なく 6.0 プログラムが動作している(Debug、Releaseともに)ことから環境面に原因があると考えております。 どのような問題が考えられるのか、また、どのような調査を行うべきか、ご教示頂きたいです。 よろしくお願い致します。

  • VC++で作ったexeをビルドPC以外で実行

    VC++2010のWindowsFormアプリケーションを使って作ったアプリケーションを別のパソコンで実行したいのですが、 「アプリケーションの構成が正しくないため、アプリケーションを開始できませんでした。アプリケーションを再度インストールすることにより問題が解決する場合があります。」 というエラーが出て実行できません。 ビルドしたパソコンの方では、問題なく実行できます。 実行には、ビルドしたときに出来たReleaseフォルダをそのまま別パソコンに持ってきて実行しています。 このような質問は過去にいくつもあったので、それを参考に解決しようとおもったのですが、なかなか成功しません。 解決法などよろしくお願いします。 また、足りない説明などあったら言ってください。 プロジェクトの設定--- ・プロジェクトの種類は、windowsフォームアプリケーション ・構成はRelease ・共通ランタイムサポート(/clr) ・ランタイムライブラリは、マルチスレッドDLL(/MD) ほかの質問で/MTを使えという意見もあったのですが、そうすると「/clr' と '/MT' は同時に指定できません」というエラーがでます。 ・マニフェストがなんたら~という意見もあったのですが、よくわからなかったので手をつけていません。 やってみたこと--- ・VC++2010のライタイム?のvcredist_x86.exeを別パソコンでインストールした。 アプリケーションについて マイクから取り込んだ音声を音声認識エンジンのJuliusで音声認識して、結果の文字列をアプリケーション画面内のテキストボックスに表示する。 また、認識結果はテキストボックスに表示するのと同時にテキストファイルとして出力する。

  • C++/CLIについて

    現在C、C++を1部、WIN32を習得しているのですが、ウィンドウアプリケーションを作るときは全てWIN32APIを使用して作っています データベースを使ってみようと思い、VS2005(Pro)についていたSQLEEを使ってみようと色々と調べたんですが、ほとんどの書籍やサイトがVBかC#を使用していました しかし、VBやC#でプログラムを書き直すのも大変なのでどうしようかと思っていたらC++/CLIなるものの存在を知りました そこでC++/CLIの勉強をしてDBを使おうと思ったのですが、何分習得言語以外の知識が足りないため不安なところを質問させてください 以下質問 1、VB、C#、C++/CLIとC+WIN32の大きな違いは.NETFrameWorkが使えるか使えないかということであっていますか? 2、多くの書籍がVBやC#とDBを組み合わせているのは、.NETに含まれるADO.NETを使用するからですか? 3、C/C++を習得するとMFCを習得するのが一般的なようですが、MFCのメリットがイマイチわからないので教えてください(WIN32で十分代用可能なため) 4、C++/CLIを習得すればMFCは必要ありませんよね? 以上質問の数が多いですがよろしくお願いします

  • VS2005 リリースビルドしたEXEが他のPCで開けない

    VS2005 C++ ExpressでWindowsフォームアプリケーションをC++/CLIで作成しています。 (Standardを買う予定なのですが、まだ買いにいけていないのでExpressのままです) OSはWinXP Pro-SP2です。 リリースビルドしたexeファイルを、当該PCでは実行可能なのですが、 exeを他のPCにコピーして実行すると、 「このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした。アプリケーションを再度インストールすることにより問題が解決する場合があります」 というダイアログが表示され、終了してしまいます。 検索してみたところ、いくつか対処法があったのですが、試した中では解決できませんでした。 ◎ソリューションのプロパで、[構成プロパティ]-[C/C++]-[コード生成]で、ランタイムライブラリを「マルチスレッドDLL/MD」を「マルチスレッド/MT」に変更    →ビルド時に「/MTと/clr:pureは同時に使用できません」エラー    →/clr:pureを/clrのみにしても同じ。    →「共通言語ランタイムサポートを使用しない」にすると、      「マネージターゲットコードには/clrが必要」でビルドエラー    →→→/MD /clr:pureに戻しました ◎exeと同じディレクトリにmanifestを作成      ▽ファイル名はMicrosoft.VC80.CRT.manifest <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" > </assemblyIdentity> <file name="msvcr80.dll"/> </assembly> versionについては、VC++Expのバージョン情報で表示されるものに変更。    →同じように、exe実行時にエラー発生、同じダイアログ    →msvcr80.dllを同じディレクトリに置いても同じ ◎Platform SDKのDependency Walkerでexeをチェック    →MSJAVA.DLLが見つからないという赤いメッセージが出る。    →ファイル名をPC内で検索したが、見つからず。      (VS2005ExpがインストールされたPCも、別のXPが入ったPCも)    →試しに、vectorで拾った実行OKなDLL不要exeアプリをD-Walkerに      かけてみたら、同じようにMSJAVA.DLLが見つからないという      メッセージが表示された。 でも当然このexeはどのPCでも実行OK。 ◎新しくプロジェクトを作成。 ボタンをひとつ配置し、  イベント発生の関数のみ作成。 ただし中身はカラ。 private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { }    →デバッグビルドもリリースビルドも問題なし。 でもexeを      別のPCにコピーすると同じダイアログが出てエラー終了 ◎http://support.microsoft.com/kb/814496/jaに載っている方法:   Visual Studio .NET プロジェクトで app.config ファイルの <xml> を   UTF-8 に変更し、UTF-8 エンコードで app.config ファイルを保存します。    →app.configファイルが検索しても見つからず これは何が悪いのでしょうか? ライブラリ・ランタイム関連であろうということはわかるのですが、 解決方法がわかりません。 よろしくお願いします。

  • C/C++の.libについて教えてください。

    こんにちは。 C/C++のライブラリファイルについて教えてください。 現在VisualStudio2008 AcademicEditionでライブラリを制作しているのですが質問させてください。 ライブラリを制作するプロジェクトをLibA、そのライブラリを利用して実行ファイルを制作するプロジェクトをProjとします。 LibAでother()関数を利用するのに #pragma comment ( lib, "other.lib" )とソースコード上に記述しました。 (other.libは他のプロジェクトで自作したスタティックライブラリでLibAと同じフォルダに入っていると仮定します) ProjでLibAで制作したライブラリを使用するために#pragma comment ( lib, "LibA.lib" )とソースコード上に記述しました。 しかし、other.libが開けませんと怒られてしまいます。 other.libを利用しているのはLibAなのでProj側でother.libを読み込むように強制されるのは面倒臭いのですが、LibA側にother()関数を埋め込むようなことはできないのでしょうか? LibAを利用するProjでもother.libを要求されないようにするにはどうすればいいでしょうか? /* スタティックライブラリを作成するためにLibAをコンパイルする時に#pragma comment ( lib, "other.lib" )の記述が不要というのは知っています。 LibAにその記述を行わなかった場合Projで自分で記述する必要があることも知っています。 */ 現在、私が思いついているのはother.libを作成するプロジェクトのソースコードを引っ張ってきてLibAに入れて一緒にコンパイルするくらいです。 日本語がへたくそでわかりづらいところがあるかとは思いますがよろしくお願いします。

  • VC6(MFC)でのシンプルなMakefileについて

     VC6のコンソールアプリケーションで、CStdioFileクラスを使った単純なサンプルソースを作りました。  コンソールアプリケーションなのでIDEのプロジェクトは大げさな気がしたので、makefileをエクスポートして不要と思われる箇所を試行錯誤しながら削除しました。  現在、下記のオプションまで簡素化したのですが、まだまだ削れそうです。 MFCのコンソールアプリケーションをビルドするには、最小限どのようなオプションが必要なのでしょうか。 #コンパイルオプション CPP_PROJ=/nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_AFXDLL" /Fp"$(INTDIR)\$(TARGET).pch" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c RSC_PROJ=/l 0x411 /d "NDEBUG" /d "_AFXDLL" #リンクオプション LINK32_FLAGS=/nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\$(TARGET).pdb" /machine:I386 /out:"$(OUTDIR)\$(TARGET).exe" 以上、よろしくお願いします。

LBT-SP02BKのマイクについて
このQ&Aのポイント
  • LBT-SP02BKはマイク接続用の端子があるが、どこにあるかわからない
  • 充電用のUSBCにマイクをつないでも音が拾えない
  • LBT-SP02BKにおけるマイク接続の方法や設定についての情報を求めています
回答を見る