68605


### 環境

C++ 20  
CLion  
Cmake 3.16

### 質問

GitHub で公開されている [MinHook](https://github.com/TsudaKageyu/minhook) というライブラリの
DLL を使いたいのですが、Cmake を使ってビルドする方法がわかりません。

僕のプロジェクトはこのようなディレクトリ構造になっています。  
プロジェクト名はTestです。

[code]

    CMakeLists.txt
    main.cpp
    Dependencies
             |--- Minhook
                       |--- bin
                              |--- MinHook.x86.dll
                              |--- MinHook.x86.lib
                       |--- include
                              |--- MinHook.h
    
[/code]

### 現在のCMakeList.txt とエラー内容

色々調べてそれっぽく書いたのですが、動きませんでした。  
追記:ご指摘いただいて書き換えた後のスクリプトとエラー文に変えました。

[code]

    cmake_minimum_required(VERSION 3.16)
    project(Test)
    
    set(CMAKE_CXX_STANDARD 20)
    
    include_directories("D:/Dev/Cpp/Test/Dependencies/Minhook/include")
    
    add_executable(Test main.cpp)
    target_link_libraries(Test D:/Dev/Cpp/Test/Dependencies/Minhook/bin/MinHook.x86.lib)
    
[/code]

今度は識別子がどうとかと言われています。  
これは僕がmain.cpp内で定義した関数ポインタなどが問題と言われています。MinHook.hがインクルードされていないのが原因だと思います(下画像参照)。このコード自体はVisual
Studioで動くことを確認済みですのでコードは間違っていません。

[code]

    D:\Dev\Cpp\Test\main.cpp(19): error C3861: 'originalTest': 識別子が見つかりませんでした
    D:\Dev\Cpp\Test\main.cpp(30): error C2065: 'shellcodePtr': 定義されていない識別子です。
    D:\Dev\Cpp\Test\main.cpp(36): error C2065: 'shellcodePtr': 定義されていない識別子です。
    NMAKE : fatal error U1077: 'C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1426~1.288\bin\Hostx86\x86\cl.exe' : リターン コード '0x2'
    Stop.
    NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\HostX86\x86\nmake.exe"' : リターン コード '0x2'
    Stop.
    NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\HostX86\x86\nmake.exe"' : リターン コード '0x2'
    Stop.
    NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\HostX86\x86\nmake.exe"' : リターン コード '0x2'
    Stop.
    
[/code]

画像の通り `Minhook.h is not found` となっています。

[![読み込めていない](https://i.stack.imgur.com/i00nz.png)](https://i.stack.imgur.com/i00nz.png)


CC BY-SA 4.0
2020-07-15T02:12:29.840
68602
2020-07-15T11:57:31.547
2020-07-15T11:57:31.547
3060
41102
question
c++ cmake
Cmake で外部ライブラリを指定する方法を教えてください


解決しました  
cubicさんありがとうございました

コメントにあるとおり、

[code]

    #include "Dependencies/Minhook/include/MinHook.h"
    
[/code]

に変えたところうまくいきました！


CC BY-SA 4.0
2020-07-15T02:45:52.700
68605
2020-07-15T02:58:55.037
2020-07-15T02:58:55.037
32986
41102
68602
answer