小编Ale*_*sei的帖子

如何在CMake脚本中设置PATH环境变量?

我想通过Mingw编译器构建我的源代码,而不是放在我的系统PATH上.我在脚本的开头尝试了这个:

set(Env{PATH} "c:/MyProject/Tools/mingw/bin/" "c:/MyProject/Tools/mingw/msys/1.0/bin/")
Run Code Online (Sandbox Code Playgroud)

还有这个:

set(CMAKE_PROGRAM_PATH "c:/MyProject/Tools/mingw/bin/"   "c:/MyProject/Tools/mingw/msys/1.0/bin/")
set(CMAKE_LIBRARY_PATH "c:/MyProject/Tools/mingw/bin/" "c:/MyProject/Tools/mingw/msys/1.0/bin/")
set(CMAKE_SYSTEM_PROGRAM_PATH "c:/MyProject/Tools/mingw/bin/" "c:/MyProject/Tools/mingw/msys/1.0/bin/")
set(CMAKE_SYSTEM_PREFIX_PATH "c:/MyProject/Tools/mingw/bin/" "c:/MyProject/Tools/mingw/msys/1.0/bin/")
Run Code Online (Sandbox Code Playgroud)

第一个变体根本不起作用.建议我不能在CMake脚本中覆盖环境变量的值.第二个脚本找到我的mingw编译器,但在运行gcc时捕获错误(无法找到gcc需要的libgmp-10.dll).这是因为PATH变量没有设置为我的Mingw.

cmake

8
推荐指数
2
解决办法
5万
查看次数

如何使SWIG处理C#中的utf8字符串?

我正在编写一个可移植的C++库,其中包含与其他语言(java,C#,python)的绑定.我正在SWIG的帮助下制作那些绑定.

我有一个用C++编写的类:

class MyClass
{
public:
    const char* get_value() const;              // returns utf8-string
    void        set_value(const char* value);   // gets utf8-string
private:
    // ...
};
Run Code Online (Sandbox Code Playgroud)

我在C#方面有类似的东西:

public class MyClass
{
    public string get_value();
    public void   set_value(string value);
}
Run Code Online (Sandbox Code Playgroud)

除了在调用MyClass期间没有进行utf8 <=> utf16字符串转换外,SWIG做得很好.

我该怎么办?编写自定义类型映射看起来有点复杂,如果它是唯一可用的解决方案,我需要帮助.

c# swig utf-8

5
推荐指数
1
解决办法
1144
查看次数

标签 统计

c# ×1

cmake ×1

swig ×1

utf-8 ×1