私はWDK XPSDrvサンプルプロジェクトを成功裏に進めて、必要なものを修正しました。しかし、私は絶対にどのようにビルドスクリプトを参照/ include/whatever shell32.libにするのか分かりません。私は.NETの男です!これは奇妙で恐ろしい領域です。Shell32.libへの依存関係をWDKメイクファイルに追加
私は依存関係の参照を追加すると私は何をする必要があると思います。私は、私は、Visual Studio、メモ帳での単純な改造++とシェルWDKのビルド環境を使用していないため、知識の私の極端な不足のために、私はこのエラー
3>errors in directory c:\winddk\7600.16385.1\src\printgit\xpsdrvsmpl\
src\filters\common
3>c:\winddk\7600.16385.1\src\printgit\xpsdrvsmpl\src\filters\common\
xdstrmflt.cpp(238) : error C3861: 'ShellExecute': identifier not found
を取得するコンパイル(と急い)とき。私はVSの代理プロジェクトを持っています。ここで私は小さなコードを書いてテストしています。そのプロジェクトでは、shell32.lib
に依存ライブラリを追加し、すべてが完全に機能しました。
sources
を参照するメイクファイルがあります。その内容は以下のとおりです。それが重要なことを
ないが、Shell32はを必要とするコードが
HINSTANCE statu = ShellExecute(NULL,TEXT("open"),szTempFileName,NULL,NULL,9);
ここsources
ファイルがありますされています。あなたのsources
ファイル内
INCLUDES=$(INCLUDES); \
.\; \
.\..\inc; \
.\..\debug; \
$(DDK_INC_PATH); \
$(SDK_INC_PATH)\gdiplus; \
USE_ATL=1
USE_STL=1
ATL_VER=70
STL_VER=70
# We use STL 7.0, which is not available pre-Vista. We therefore set USE_LIBCMT=1
# If STL 7.0 is not necessary, USE_MSVCRT=1 is recommended
USE_LIBCMT=1
USE_IDLBASED_DLLDATA=1
USE_OBJECT_ROOT=1
MSC_WARNING_LEVEL=/W4 /WX
USE_NATIVE_EH=1
PRECOMPILED_CXX=1
PRECOMPILED_INCLUDE=precomp.h
# To remove debug code remove -DDBG from the line below
C_DEFINES=$(C_DEFINES) -D_UNICODE -DUNICODE
SOURCES=\
bkpchndlr.cpp \
bkpthndlr.cpp \
bkschema.cpp \
cmpthndlr.cpp \
cmprofpthndlr.cpp \
cmprofpchndlr.cpp \
cmintpthndlr.cpp \
cmschema.cpp \
cmprofileschema.cpp \
cmintentsschema.cpp \
globals.cpp \
nupschema.cpp \
nupchndlr.cpp \
nupthndlr.cpp \
pchndlr.cpp \
pgscpchndlr.cpp \
pgscpthndlr.cpp \
pgscschema.cpp \
porientpthndlr.cpp \
porientschema.cpp \
psizepthndlr.cpp \
psizeschema.cpp \
pimagepthndlr.cpp \
pimageschema.cpp \
pshndlr.cpp \
pthndlr.cpp \
ptquerybld.cpp \
schema.cpp \
wmpchndlr.cpp \
wmpthndlr.cpp \
wmschema.cpp \
workbuff.cpp
TARGETNAME=xdsmplcmn
TARGETTYPE=LIBRARY
あなたはされています聖人。私はちょうど例を見つけるためにkernel32.libのためにすべてをastrogreppingすることによってソースのことを考え出しました。おそらく私はそれがコンパイラのエラーだと気づく前に私の髪を引っ張っただろう。 – scaryman
ビジュアルスタジオテストアプリに含まれているヘッダーは、正常に動作したテストプロジェクトのインクルードファイルではなかったため、どこかにshellapi.hをインクルードする必要があります。奇妙な。 – scaryman
@scaryman: 'Windows.h'を含むときにすべての種類のものを含むプリコンパイルされたヘッダー' stdafx.h 'を通し、ある暗黙的な '#include'を防ぐために' #include ' #include'sが起きてから 'Windows.h'などに渡されます。もちろん、あなたが使っているMFC/ATL/WTLヘッダも 'shellapi.h 'を利用することができます。 – 0xC0000022L