![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
プログラミング初心者です。
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ランキング
-
外部依存関係について
-
Visual C++ 2005 Express Editi...
-
error LNK2001について
-
VC++/MFCで error LNK2001
-
LNK2001(Pro*c)
-
外部シンボル" ~~"は未解決で...
-
C++ Builderでユニットの追加
-
BCB5からBCB6へのコンポーネン...
-
VC6.0でエラー
-
popen・pcloseについて
-
クラスを使ったC++の関数を...
-
python エラー
-
エクセルのエラーメッセージ「4...
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
VBAを何回も作り直して、容量が...
-
適切な変換関数が存在しない???
-
「fatal error C1189」を回避す...
-
Excelのエラーで困ってます。
-
C言語での開発でエラーが出て困...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部依存関係について
-
LNK2019: 外部シンボル どのよ...
-
外部シンボルの未解決のエラー
-
LNK2001(Pro*c)
-
外部シンボル" ~~"は未解決で...
-
ステータスバーを作ろうとして...
-
popen・pcloseについて
-
コンパイルエラー
-
error LNK2001について
-
ilink32について。'__setargv__...
-
「外部シンボルが未解決」につ...
-
パブリックシンボルとは?
-
リンカのエラー
-
IP Helper APIを使うとエラーが...
-
C++でのエラー LNK2001
-
ビデオキャプチャ(VC++超初心...
-
C言語でレジストリ取得「未解決...
-
VC++2008でのサンプルプログ...
-
VC++始めたんですが、エラーの...
-
C++の関数をfortranから呼びた...
おすすめ情報