プログラミング初心者です。
Visal Studio 2010を使用してC++の勉強をしています。
http://www.geekpage.jp/programming/iphlpapi/inte …
上の記事を参考にIP Helper APIのプログラミングを試してみたのですが、エラーが出てしまいコンパイルできません。
「Windows.hをインクルードすると良い」という記事を見つけて試しましたが、同様のエラーが出るだけでした。
//コード------------
#include "stdafx.h"
#include <WinSock2.h>
#include <IPHlpApi.h>
#include <Windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
PIP_INTERFACE_INFO pInfo = NULL;
ULONG ulOutBufLen = 0;
DWORD dwRetVal = 0;
/* 変数ulOutBufLenに必要なサイズを取得 */
if( GetInterfaceInfo(NULL, &ulOutBufLen)==ERROR_INSUFFICIENT_BUFFER ){
pInfo = (IP_INTERFACE_INFO *)malloc(ulOutBufLen);
}
return 0;
}
//実行結果----------
error LNK1120: 外部参照 1 が未解決です。 R:\Programming\VisualStudio2010\Projects\IPHLPAPIの利用\Debug\IPHLPAPIの利用.exe IPHLPAPIの利用
error LNK2001: 外部シンボル "_GetInterfaceInfo@8" は未解決です。 R:\Programming\VisualStudio2010\Projects\IPHLPAPIの利用\IPHLPAPIの利用\IPHLPAPIの利用.obj IPHLPAPIの利用
//------------------
ちなみに、main内の5行目「GetInterfaceInfo」は「IPHlpApi.h」内にちゃんと存在しています。
以上になります。長文お読みいただきありがとうございました。
色々検索してみましたがお手上げ状態です・・・よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
MSDNには,
> Requirements
> Library Iphlpapi.lib
とあるのですが,Iphlpapi.libをちゃんとリンクしていますか。
ref)
http://msdn.microsoft.com/en-us/library/windows/ …
ご回答ありがとうございます。#includeの下に
「#pragma comment(lib,"iphlpapi.lib")」
の一行を追加したところ正常に動作しました!
リンクという機能があったのは初めて知りました。大変勉強になりよかったです。ありがとうございます。
No.2
- 回答日時:
>ちなみに、main内の5行目「GetInterfaceInfo」は「IPHlpApi.h」内にちゃんと存在しています。
それはGetInterfaceInfoという関数があることが書かれているだけ、その実体は#1の書かれているライブラリにあります。
「プロトタイプ宣言」を調べてみてください。
ご回答ありがとうございます。
そう言われてみれば、確かにF12キーで参照できるのはヘッダの宣言ですね。プロトタイプ宣言については一応知っているつもりでしたが、多量の記述に圧倒されて本質を見抜けずにいました。でもご指摘いただけたおかげで、また一つ理解を進めることができよかったです。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外部依存関係について
-
エラーについて
-
C++ Builderでユニットの追加
-
OpenCVでの画像サイズ取得につ...
-
質問させてください。
-
ステータスバーを作ろうとして...
-
LNK2019: 外部シンボル どのよ...
-
wsprintfのエラーについて
-
popen・pcloseについて
-
コンパイルエラー
-
python エラー
-
エクセルのエラーメッセージ「4...
-
<math.h>があるのにsqrtが・...
-
<unistd.h>をVisualStudioでつ...
-
C言語をコンパイルするとコンピ...
-
unsigned long long 型のフォー...
-
VBAを何回も作り直して、容量が...
-
適切な変換関数が存在しない???
-
math.hに含まれる関数が使えない
-
1 つ以上の複数回定義されてい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部依存関係について
-
外部シンボルの未解決のエラー
-
コンパイルエラー
-
外部シンボル" ~~"は未解決で...
-
LNK2019: 外部シンボル どのよ...
-
DLL呼び出しAPのリンクエラーに...
-
LNK2001(Pro*c)
-
このプログラムを動かしたいの...
-
error LNK2001について
-
プロセスIDの取得の方法。
-
エラー 未解決の外部シンボル
-
C++ の LNK2001エラー
-
パブリックシンボルとは?
-
OpenCVでの画像サイズ取得につ...
-
C言語のエラー LNK1120: 外部参照
-
C++でのエラー LNK2001
-
「外部参照 1 が未解決です。」...
-
Visual Stdio.netでビルドがで...
-
エラー lnk2019について
-
wsprintfのエラーについて
おすすめ情報