小编WDC*_*WDC的帖子

CMake CUDA 在 Windows 上单独编译静态库链接错误,但在 Ubuntu 上没有

我正在使用 CMake 编译一个 CUDA 项目,其中包含一个静态库和一个主文件。MWE在这里。目录是:

??? CMakeLists.txt ??? src ??? mylib.h ??? mylib.cu ??? test ??? CMakeLists.txt ??? main.cpp

在 Ubuntu 上一切正常。但是在 Windows 上,我收到了一个链接错误:

mylib.lib(mylib.cu.obj) : error LNK2019: unresolved external symbol __cudaRegisterLinkedBinary_40_tmpxft_00006024_00000000_7_mylib_cpp1_ii_935b38c5 referenced in function "void __cdecl __sti____cudaRegisterAll(void)" (?__sti____cudaRegisterAll@@YAXXZ)\build\test\Release\main.exe : fatal error LNK1120: 1 unresolved externals
Run Code Online (Sandbox Code Playgroud)

这个问题只涉及第一个CMakeLists.txt

cmake_minimum_required(VERSION 3.8)
project(MyTest LANGUAGES CXX CUDA)

# check requirements
find_package(CUDA   8.0 REQUIRED)

# set include and link directories
if (UNIX)
    set(CUDA_SAMPLE_INC ${CUDA_TOOLKIT_ROOT_DIR}/samples/common/inc)
    set(CUDA_TARGET_INC ${CUDA_TOOLKIT_ROOT_DIR}/targets/x86_64-linux/include)
    set(CUDA_SAMPLE_LKN ${CUDA_TOOLKIT_ROOT_DIR}/targets/x86_64-linux/lib)
endif (UNIX)
if …
Run Code Online (Sandbox Code Playgroud)

c++ cuda cmake

6
推荐指数
1
解决办法
2193
查看次数

访问 std::variant 中的公共结构成员

我无法理解如何std::variant在 C++17 中使用。给定两个 struct AandB和 a std::vector<std::variant<A,B>> vs,我想:

  • 引用一个公共结构成员,例如n
  • 调用一个公共函数,例如fun()add()
#include <iostream>
#include <variant>
#include <vector>

struct A {
    int n;
    void fun() { std::cout << "fun\n"; }
    int add(int m) { return n+m; }
};
struct B {
    int n;
    void fun() { std::cout << "fun\n"; }
    int add(int m) { return n+m; }
};

int main() {
    std::vector<std::variant<A,B>> vs;
    vs.push_back(A{10,11});
    vs.push_back(B{20,22});
    
    // How to refer to …
Run Code Online (Sandbox Code Playgroud)

c++ struct variant c++17

3
推荐指数
1
解决办法
353
查看次数

MATLAB 3D数据简单可视化

我想在MATLAB中产生以下3D可视化效果:

在此处输入图片说明

mydata = rand(100,100,100);
Run Code Online (Sandbox Code Playgroud)

我该怎么办mydata

3d matlab visualization

0
推荐指数
1
解决办法
28
查看次数

标签 统计

c++ ×2

3d ×1

c++17 ×1

cmake ×1

cuda ×1

matlab ×1

struct ×1

variant ×1

visualization ×1