ATL/WTL Part7

■ このスレッドは過去ログ倉庫に格納されています
2012/02/21(火) 22:22:16.72
ATLとWTLについて語り合って下さい。

WTL配布元
http://wtl.sourceforge.net/

過去ログ
■(Part1) ATL/WTL
http://piza.2ch.net/test/read.cgi/tech/978029639/l50
■(Part2-1) ATL 相談室
http://pc5.2ch.net/test/read.cgi/tech/1029029882/l50
■(Part2-2) WTLお勉強スレッド
http://pc5.2ch.net/test/read.cgi/tech/1078150663/l50
■ATL/WTL Part3
http://pc8.2ch.net/test/read.cgi/tech/1095442366/l50
■ATL/WTL Part4
http://pc8.2ch.net/test/read.cgi/tech/1134388951/l50
■ATL/WTL Part5
http://pc11.2ch.net/test/read.cgi/tech/1155951708/
■ATL/WTL Part6
http://toro.2ch.net/test/read.cgi/tech/1198757953/
181デフォルトの名無しさん
垢版 |
2013/04/16(火) 00:00:12.69
C言語なら俺たちに聞け パート0001
からこちらに誘導していただいた者です。
質問を書き直します。

C++(中身はほぼC)でOpencvを使ったものを作成しています。
現在SetCursorPosを使おうとしているのですが、以下のメッセージが
でて実行することができません、

error LNK2019: 未解決の外部シンボル __imp__SetCursorPos@8 が関数 _main で参照されました。
182デフォルトの名無しさん
垢版 |
2013/04/16(火) 00:01:15.61
>>181の続き

しかし、
#include <windows.h>
#include <stdio.h>

int main(int argc, char* argv[])
{
int x=0,y=0;
SetCursorPos(0,0);
while(1){
POINT pos;
GetCursorPos(&pos);
printf("(%d,%d)\n",pos.x, pos.y);
SetCursorPos(pos.x+x,pos.y+y);
Sleep(10);
if(pos.x>3198)x--;
if(pos.x==0)x++;
if(pos.y==0)y++;
if(pos.y>1198)y--;

}
return 0;
}
のようなopencvを使っていないプログラムでは問題なく動作します。
183デフォルトの名無しさん
垢版 |
2013/04/16(火) 00:02:39.36
>>182の続き

解決方法として
1. #include <windows.h> を #include "stdafx.h" の次に書く
2. int main() を int WINAPI WinMain(HINSTANCE hinst, HINSTANCE hinstPrev, LPSTR lpszCmdLine, int nCmdShow) にしてみる
3. #pragma comment(lib, "user32.lib") の一行を書けば解決する。
4. nodefaultlibが設定されている可能性がある。ヘッダーにもnodefaultlibが設定されている可能性が。

以上の4つを行いましたが、
error LNK2019: 未解決の外部シンボル __imp__SetCursorPos@8 が関数 _main で参照されました。
を解決することはできませんでした。

というのが質問になります。
どうか問題解決に力をお貸しください、よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況