【问题标题】:How to link any DLL to Cmake project [duplicate]如何将任何DLL链接到Cmake项目[重复]
【发布时间】:2019-09-04 11:26:55
【问题描述】:

是qmake的工作:

LIBS+= -L"C:\Program Files\program\any_dll.dll"

如何在cmake中?

cmake_minimum_required(VERSION 2.8)

project(my_project)

add_executable(${PROJECT_NAME} "main.cpp")

【问题讨论】:

  • add_library(bar SHARED/STATIC IMPORTED) ?检查stackoverflow.com/questions/28597351/…
  • @Tsyvarev mylib.so 不是 anydll.dll。从功能上看,确实是重复的,但从文本的角度来看,这些是不同的问题。我认为应该保留这个问题,以便可以在搜索中找到它。
  • “但从文本的角度来看,这些是不同的问题。” - 无论 staticshared,Linux (.so) 或 Windows (.dll),any_dll.dll 都是您的外部库 CMake 项目,因此已正确选择了重复的问题。 “我认为应该保留这个问题,以便在搜索中找到它。” - 重复 状态绝不会将问题标记为“错误”或“应删除”。如果有人会发现您的问题有用,他/她仍然可以投票。 duplicate 状态唯一禁用的是为问题添加(新)答案。
  • 顺便说一句,横幅“这个问题在这里已经有答案”及其引用与处于重复状态的问题帖子相关联。因此,无需在问题帖子本身中重复引用重复的问题。 (如果它有助于理解您的问题,您可以包括对其他问题帖子的引用,但我认为您的情况没有理由。请注意,“理解一个问题" 并不意味着“了解如何解决它”。在 Stack Overflow 上,我们不会在问题帖子中混合问题及其可能的解决方案。)

标签: c++ dll cmake


【解决方案1】:

如果 CMake 现在不是目标(即它不是由 CMake 构建的),则假定它是预构建库。

link_directories(
  "C:/Program Files/program"
)

add_executable(${PROJECT_NAME} "main.cpp")

target_link_libraries(${PROJECT_NAME}
  any_dll
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    • 2019-12-24
    相关资源
    最近更新 更多