19 12 2008, 2:40 午後 UTC
|
哲平
投稿数6
|
|
|
WindowsXP VSTO2005SE
自作のExcelアドインの配布をしようとしています。
http://msdn.microsoft.com/ja-jp/library/aa537173.aspx
を参考にしていますが、ComponentCheck.cppのコンパイルがどうしてもできません。
最初はwindows.hがないとか、.libファイルが(名前は忘れました)がないとかいうエラーが出てきたんですが、なんとか解決してきました。
ですが次のエラーがどうしても解決できません。
エラーメッセージ: /out:ComponentCheck.exe ComponentCheck.obj advapi32.lib ComponentCheck.obj : error LNK2019: 未解決の外部シンボル __imp__FreeLibrary@4 が 関数 _WinMain@16 で参照されました。 ComponentCheck.obj : error LNK2019: 未解決の外部シンボル ___argv が関数 _WinMain @16 で参照されました。 ComponentCheck.obj : error LNK2019: 未解決の外部シンボル ___argc が関数 _WinMain @16 で参照されました。 ComponentCheck.obj : error LNK2019: 未解決の外部シンボル __imp__GetProcAddress@8 が関数 _WinMain@16 で参照されました。 ComponentCheck.obj : error LNK2019: 未解決の外部シンボル __imp__GetLastError@0 が関数 _WinMain@16 で参照されました。 ComponentCheck.obj : error LNK2019: 未解決の外部シンボル __imp__LoadLibraryA@4 が関数 _WinMain@16 で参照されました。 LINK : error LNK2001: 外部シンボル "_WinMainCRTStartup" は未解決です。 ComponentCheck.exe : fatal error LNK1120: 外部参照 7 が未解決です。
どうすればComponentCheck.exeを作成できるのでしょうか?
|
|
|
|
誹謗中傷の報告
|
|
|
|
20 12 2008, 6:06 午前 UTC
|
Azulean
MVP
投稿数1,073
|
|
|
哲平 さんからの引用 |
最初はwindows.hがないとか、.libファイルが(名前は忘れました)がないとかいうエラーが出てきたんですが、なんとか解決してきました。
| |
Visual Studio 2008で試しましたが、「Visual Studio 2008 コマンド プロンプト」から開いたコマンドプロンプトで、「cl.exe /Oxs /MT /GS ComponentCheck.cpp advapi32.lib」としたら特に工夫することなく、無事にコンパイルが通りました。
もしかして、そういったショートカットを使っていないと言うことはありませんか?
Visual Studio 2005でも同じようなショートカットがあります。
在処としては「すべてのプログラム」「Microsoft Visual Studio 2005」「Visual Studio Tools」「Visual Studio 2005 コマンドプロンプト」あたりでしょうか。
※ComponentCheck.cppは http://code.msdn.microsoft.com/VSTO3MSI/Release/ProjectReleases.aspx?ReleaseId=729 から入手しました。
哲平 さんからの引用 |
ComponentCheck.obj : error LNK2019: 未解決の外部シンボル __imp__FreeLibrary@4 が 関数 _WinMain@16 で参照されました。 ComponentCheck.obj : error LNK2019: 未解決の外部シンボル ___argv が関数 _WinMain @16 で参照されました。 ComponentCheck.obj : error LNK2019: 未解決の外部シンボル ___argc が関数 _WinMain @16 で参照されました。 ComponentCheck.obj : error LNK2019: 未解決の外部シンボル __imp__GetProcAddress@8 が関数 _WinMain@16 で参照されました。 ComponentCheck.obj : error LNK2019: 未解決の外部シンボル __imp__GetLastError@0 が関数 _WinMain@16 で参照されました。 ComponentCheck.obj : error LNK2019: 未解決の外部シンボル __imp__LoadLibraryA@4 が関数 _WinMain@16 で参照されました。 LINK : error LNK2001: 外部シンボル "_WinMainCRTStartup" は未解決です。 ComponentCheck.exe : fatal error LNK1120: 外部参照 7 が未解決です。
| |
Kernel32.libにリンクできてないのかな?
「回答済み」のチェックは締めの発言ではなく、参考になった回答(レス)自体につけましょう。 (質問が未解決の場合を除く)
|
|
|
|
誹謗中傷の報告
|
|
|
|
20 12 2008, 7:12 午前 UTC
|
哲平
投稿数6
|
|
|
>>Visual Studio 2005でも同じようなショートカットがあります。
在処としては「すべてのプログラム」「Microsoft Visual Studio 2005」「Visual Studio Tools」「Visual Studio 2005 コマンドプロンプト」あたりでしょうか。
ちゃんとそれを使ったのですが。
>>Kernel32.libにリンクできてないのかな?
どうやったらリンクできるのでしょうか? libファイルがないと言われたとき、該当するファイルをどこかのlibフォルダの中に放り込むということをしていたのですが、Kernel32.libもどこかから探してきてそこに放り込めばいいのでしょうか?
|
|
|
|
誹謗中傷の報告
|
|
|
|
20 12 2008, 10:18 午前 UTC
|
Azulean
MVP
投稿数1,073
|
|
|
銀閣寺在住 さんからの引用 |
どうやったらリンクできるのでしょうか? libファイルがないと言われたとき、該当するファイルをどこかのlibフォルダの中に放り込むということをしていたのですが、Kernel32.libもどこかから探してきてそこに放り込めばいいのでしょうか?
| |
基本的にはVisual Studioコマンドプロンプトを使用すれば、ファイルを移動したり、コピーしたり等の準備は不要のはずです。
銀閣寺在住 さんからの引用 |
最初はwindows.hがないとか、.libファイルが(名前は忘れました)がないとかいうエラーが出てきたんですが、なんとか解決してきました。
| |
どういった解決法を取ったか教えて頂けないでしょうか。
それによって、今起きている問題が分かるかもしれません。
なお、Visual Studio コマンドプロンプトはC:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.batの中身を実行したものです。
これにより、環境変数LIB等でkernel32.libといったライブラリファイルを見つける仕組みです。
「回答済み」のチェックは締めの発言ではなく、参考になった回答(レス)自体につけましょう。 (質問が未解決の場合を除く)
|
|
|
|
誹謗中傷の報告
|
|
|
|
22 12 2008, 3:15 午前 UTC
|
銀閣寺在住
投稿数6
|
|
|
Azulean さんからの引用 |
どういった解決法を取ったか教えて頂けないでしょうか。
それによって、今起きている問題が分かるかもしれません。
| |
どうやったかは詳しく覚えていないんですが。
1.windows.hがないと言われたので、C:\Program FilesとC:\Windowsをwindows.hで検索 → 見つからない 2.googleで検索すると Microsoft Platform SDK をインストールするといいらしいのでインストール 3.C:\Program Files\Microsoft Platform SDK\Includeのなかにwindows.hがあったので環境変数INCLUDEに"C:\Program Files\Microsoft Platform SDK\Include"を設定 4.こんどはexcpt.hがないと言われる。C:\Program Files\Microsoft Platform SDK\Include\crtのなかにあったのでC:\Program Files\Microsoft Platform SDK\Include\crtも環境変数INCLUDEに設定。 5.libcmt.libがないといわれる。検索したら見つかったので(どこにあったのか忘れてしまいました。) C:\Program Files\Microsoft Visual Studio 8\VC\libにそのlibを入れる。 6.oldnames.libも同様に言われたので同様の処置をする。 7.現在に至る
以上です。
|
|
|
|
誹謗中傷の報告
|
|
|
|
22 12 2008, 3:16 午前 UTC
|
銀閣寺在住
投稿数6
|
|
|
|
|
22 12 2008, 1:51 午後 UTC
|
Azulean
MVP
投稿数1,073
|
|
|
色々といじくっているので辻褄が合っていません。
どうすれば綺麗になるかまではきちんと言えないかもしれません。
銀閣寺在住 さんからの引用 |
1.windows.hがないと言われたので、C:\Program FilesとC:\Windowsをwindows.hで検索 → 見つからない
| |
まず、これがおかしいですね。
普通にVisual Studio(C++を含む)をインストールしていれば、C:\Program Files\MIcrosoft Visual Studio 8\VC\PlatformSDK\Includeあたりに入っています。
銀閣寺在住 さんからの引用 |
3.C:\Program Files\Microsoft Platform SDK\Includeのなかにwindows.hがあったので環境変数INCLUDEに"C:\Program Files\Microsoft Platform SDK\Include"を設定 4.こんどはexcpt.hがないと言われる。C:\Program Files\Microsoft Platform SDK\Include\crtのなかにあったのでC:\Program Files\Microsoft Platform SDK\Include\crtも環境変数INCLUDEに設定。
| |
INCLUDEだけPlatformSDKにして、LIBやPATH等を放置するのはバージョンが合わない等の問題を生む可能性があります。
とりあえず、自分で設定したINCLUDE等の環境変数を取り外して、Visual Studio 2005 コマンド プロンプトで実行するとどうなるんでしょうか?
windows.hがないと言われるのでしょうか?
「回答済み」のチェックは締めの発言ではなく、参考になった回答(レス)自体につけましょう。 (質問が未解決の場合を除く)
|
|
|
|
誹謗中傷の報告
|
|
|
|
22 12 2008, 2:46 午後 UTC
|
銀閣寺在住
投稿数6
|
|
|
Azulean さんからの引用 |
色々といじくっているので辻褄が合っていません。
どうすれば綺麗になるかまではきちんと言えないかもしれません。
銀閣寺在住 さんからの引用 |
1.windows.hがないと言われたので、C:\Program FilesとC:\Windowsをwindows.hで検索 → 見つからない
| |
まず、これがおかしいですね。
普通にVisual Studio(C++を含む)をインストールしていれば、C:\Program Files\MIcrosoft Visual Studio 8\VC\PlatformSDK\Includeあたりに入っています。
| |
やっぱりそうですか。C#のみでC++は入っていないです。
Azulean さんからの引用 |
銀閣寺在住 さんからの引用 |
3.C:\Program Files\Microsoft Platform SDK\Includeのなかにwindows.hがあったので環境変数INCLUDEに"C:\Program Files\Microsoft Platform SDK\Include"を設定 4.こんどはexcpt.hがないと言われる。C:\Program Files\Microsoft Platform SDK\Include\crtのなかにあったのでC:\Program Files\Microsoft Platform SDK\Include\crtも環境変数INCLUDEに設定。
| |
INCLUDEだけPlatformSDKにして、LIBやPATH等を放置するのはバージョンが合わない等の問題を生む可能性があります。
とりあえず、自分で設定したINCLUDE等の環境変数を取り外して、Visual Studio 2005 コマンド プロンプトで実行するとどうなるんでしょうか?
windows.hがないと言われるのでしょうか? | |
今は環境がないのでちょっと試せないです。 24日に試してみますのでしばらくお待ちください。
ここでAzuleanさんからComponentCheck.exeを戴く、というのは何かの法律に違反しているのでしょうか? 別にC++の勉強をしているわけではないので。
|
|
|
|
誹謗中傷の報告
|
|
|
|
22 12 2008, 2:57 午後 UTC
|
Azulean
MVP
投稿数1,073
|
|
|
銀閣寺在住 さんからの引用 |
やっぱりそうですか。C#のみでC++は入っていないです。
| |
C++を入れていないのに、cl.exeがあるんでしょうか…。
問題ないのであれば、C++を入れてあげて下さい。
銀閣寺在住 さんからの引用 |
今は環境がないのでちょっと試せないです。 24日に試してみますのでしばらくお待ちください。
| |
C++が入っていないと、やっぱりコンパイルエラーになりそうです。
C++が入っていない状態できちっとした環境を作ることができるかどうかを含めて、現時点では解決策を提示できません。
銀閣寺在住 さんからの引用 |
ここでAzuleanさんからComponentCheck.exeを戴く、というのは何かの法律に違反しているのでしょうか?
| |
法律に反するかどうか分からない行為なのであれば、それを相手に求めないで下さい。
※この発言の時点ではライセンスに関して何も判断していません。姿勢に対して反応したものです。
「回答済み」のチェックは締めの発言ではなく、参考になった回答(レス)自体につけましょう。 (質問が未解決の場合を除く)
|
|
|
|
誹謗中傷の報告
|
|
|
|
23 12 2008, 4:12 午前 UTC
|
銀閣寺在住
投稿数6
|
|
|
Azulean さんからの引用 |
銀閣寺在住 さんからの引用 |
やっぱりそうですか。C#のみでC++は入っていないです。
| |
C++を入れていないのに、cl.exeがあるんでしょうか…。
問題ないのであれば、C++を入れてあげて下さい。
銀閣寺在住 さんからの引用 |
今は環境がないのでちょっと試せないです。 24日に試してみますのでしばらくお待ちください。
| |
C++が入っていないと、やっぱりコンパイルエラーになりそうです。
C++が入っていない状態できちっとした環境を作ることができるかどうかを含めて、現時点では解決策を提示できません。
銀閣寺在住 さんからの引用 |
ここでAzuleanさんからComponentCheck.exeを戴く、というのは何かの法律に違反しているのでしょうか?
| |
| |
そうですか。 C++を入れるのは難しいので諦めます。
Azulean さんからの引用 |
法律に反するかどうか分からない行為なのであれば、それを相手に求めないで下さい。
※この発言の時点ではライセンスに関して何も判断していません。姿勢に対して反応したものです。 | | 聞いてみただけなのに何でそこまで怒るんですか?
解決していないので解決済みにはしませんが、このスレはもう締めます。 Azuleanさんももう僕とは話をしたくないでしょうし。 やはり僕は定型の人と会話をしないほうがいいみたいです。
|
|
|
|
誹謗中傷の報告
|
|
|
|
23 12 2008, 11:36 午前 UTC
|
Azulean
MVP
投稿数1,073
|
|
|
銀閣寺在住 さんからの引用 |
|
「聞いてみただけ」というと、ご自身で法律やライセンスに関して判断されていないように解釈できます。
ComponentCheck.cppを入手する際にライセンスをお読みになられたと思いますが、それはどのように読み取り、解釈されましたか?
今回の場合、Ms-PLなので妨げる要素はないはずですが、ライセンスに関する意識をもっと強く持って下さい。
なお、バイナリの提供はお断りさせて下さい。
理由としては、目的が分からないこと(個人の頒布?法人として製品に組み込む?といったことも読み取ることができない)、そのバイナリに対する保障・フォローはできないことからです。
「回答済み」のチェックは締めの発言ではなく、参考になった回答(レス)自体につけましょう。 (質問が未解決の場合を除く)
|
|
|
|
誹謗中傷の報告
|
|
|
|
25 12 2008, 5:14 午前 UTC
|
大久保直美 - MSFT
Moderator
投稿数499
|
|
|
こんにちは、フォーラムオペレータ大久保です。
銀閣寺在住 さん、Azulean さんは別に怒ってはいらっしゃらないと思いますよ。
Azulean さんの「C++がインストールされていないとコンパイルエラーになる」という回答はとても参考になるものだと思いましたので、「回答済み」チェックをつけさせていただきました。
当フォーラムには、スレッドに対して「参考になる情報が得られた」ことを示す「回答済み」のマークを付ける機能はありますが、答えてねっと のような「問題が解決したことを示し、スレッドを締め切る」機能は存在しないため、このスレッドはロックさせていただきました。
また機会がありましたら MSDN フォーラムをご利用ください。
マイクロソフト株式会社 フォーラム オペレータ 大久保 直美
|
|
|
|
誹謗中傷の報告
|
|
|
|
MSDN フォーラム » Visual Studio Tools for Office » Visual Studio Tools for Office フォーラム » ComponentCheck.cppのコンパイル
|
|
|
RSS の取得
|
|