代码之家  ›  专栏  ›  技术社区  ›  DenverCoder21

正确创建导出库

  •  0
  • DenverCoder21  · 技术社区  · 7 年前

    Project repo on Github

    我现在面临的问题是,示例应用程序找不到库的标题。我就是这么做的:

    cd mymath
    mkdir build && cd build
    cmake ..
    make
    sudo make install
    

    这给了我以下输出:

    [100%] Built target mymath
    Install the project...
    -- Install configuration: ""
    -- Installing: /usr/local/lib/libmymath.a
    -- Up-to-date: /usr/local/include
    -- Up-to-date: /usr/local/include/my-math
    -- Up-to-date: /usr/local/include/my-math/even-odd.h
    -- Up-to-date: /usr/local/include/my-math/even-odd
    -- Installing: /usr/local/share/mymath/cmake/mymathConfig.cmake
    -- Installing: /usr/local/share/mymath/cmake/mymathConfig-noconfig.cmake
    

    cd ../../project
    mkdir build && cd build
    cmake ..
    make
    

    这个 cmake .. 打电话没问题,但打电话的时候 make

    .../lib-lib/project/src/main.cpp:1:10: fatal error: mymath/even-odd.h: No such file or directory
     #include <mymath/even-odd.h>
              ^~~~~~~~~~~~~~~~~~~
    

    我做错了什么?

    mymathConfig.cmake mymathConfig.cmake

    解决方案

    我找到了罪犯,不是在我的CMake文件中,而是在下面。

    而不是:

    #include <mymath/even-odd>
    

    我必须:

    #include <my-math/even-odd>
    

    我的假设是,我需要这个库的名称,但需要的是include目录的实际文件夹结构。我的错。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Alain    7 年前

    我还没试过,我身边也没有cmake,但我会尝试

    include <even-odd.h>
    

    原因是

    find_package(mymath)
    

    会回来吗 /usr/local/include/my-math 获取包含文件的搜索路径。

    推荐文章