小编McL*_*ary的帖子

install_name_tool报告格式错误的对象

每次我尝试在我的机器上使用install_name_tool时,它会报告以下内容

install_name_tool: object: Abacate malformed object (unknown load command 4)
Run Code Online (Sandbox Code Playgroud)

我读到构建二进制文件时可能会出错.为了检查我创建最简单的hello world c ++程序并尝试使用install_name_tool更改某些内容.没工作.我究竟做错了什么?

目前我有运行Snow Leopard OS的XCode 4.2.

xcode osx-snow-leopard install-name-tool

9
推荐指数
1
解决办法
7582
查看次数

使用Doxygen使用@see命令引用特定的类方法

我无法使用doxygen @see命令引用特定的类方法.

假设我有一个类Server,其方法如下所示

@interface Server : NSObject

- (void) start:(NSInteger) mask;

@end
Run Code Online (Sandbox Code Playgroud)

假设我有另一个具有Server对象的类.

@interface RandomNumberGeneration

/// How can I reference the method start from 
/// class server using the command @see
/// @see ????
+ (NSInteger) generate;

@end
Run Code Online (Sandbox Code Playgroud)

那么,有没有办法引用类Server的方法启动?

doxygen objective-c documentation-generation

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

有一种方法可以在IOS4应用程序中链接GLKit吗?

我构建了一个使用GLKit的应用程序,以便在屏幕上绘制OpenGL内容.我知道这是一个iOS5框架,但我想知道是否有办法手动链接glkit dylib.如果我不需要重建我的代码,我会很感激,因为GLKit更容易使用.

opengl-es ios4 glkit

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

从python脚本调用CMake导致"无法创建命名生成器"

我正在构建一个能够在机器之间自由移动的项目.为了没有数百MB的lib,我正在编写一系列python脚本来下载和构建依赖项以及我自己的项目.我正在使用CMake生成VS项目.

要调用CMake我构建一个命令行,我使用subprocess.check_call如下的python

cmakeCmd = ["cmake.exe", '-G "Visual Studio 11 Win64"', build_path]
retCode = subprocess.check_call(cmakeCmd, stderr=subprocess.STDOUT, shell=True)
Run Code Online (Sandbox Code Playgroud)

问题是,如果我使用-GCMake中的选项,无论选择哪个生成器,我都会收到以下错误:

CMake Error: Could not create named generator  "Visual Studio 11 Win64"
Run Code Online (Sandbox Code Playgroud)

我认为应该是一些环境变量丢失,但python路径已完成我所有系统的变量.

奇怪的是,如果我没有设置生成器并让CMake选择默认生成器,则脚本运行正常.我没有想到的原因.

python cmake

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

如何将C++函数绑定到使用luabind返回多个值的lua?

使用luabind可以绑定以下函数吗?

void retByRef(int &a, int& b) {
    a = 10; b = 10
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试以下方法,但它只适用于具有一个参数的函数

def("retByRef", &retByRef, pure_out_value(_1))
Run Code Online (Sandbox Code Playgroud)

有办法为每个参数指定一个策略吗?

c++ lua luabind

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

Gnuplot用于循环,其增量小于1

我正在尝试绘制以下内容

plot for [h=0:2:0.1] sin(h*x)
Run Code Online (Sandbox Code Playgroud)

但是它给出了以下错误

gnuplot> plot for [h=0:2:0.1] sin(x*h)
                     ^
         Expecting iterator     for [<var> = <start> : <end> {: <incr>}]
         or for [<var> in "string of words"]
Run Code Online (Sandbox Code Playgroud)

但是以下几行就可以了

plot for [h=0:2:1.1] sin(x*h)
Run Code Online (Sandbox Code Playgroud)

这是一个错误还是应该以这种方式工作?我的意思是,为什么它不接受小于1的增量?

我正在使用以下版本的gnuplot

G N U P L O T
Version 5.0 patchlevel 1    last modified 2015-06-07 
Run Code Online (Sandbox Code Playgroud)

gnuplot

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

如何隐式地将任何东西转换为字符串?

我的目标是设计一个String类来装饰std :: string,以便提供我的程序所需的一些功能.我想要添加的一个功能是隐式地将任何东西转换为我的String,以节省一些输入.

为了实现隐式转换,我设计了以下类:

std::ostream& operator<<(std::ostream& o, const String& s);

class String {
public:
    template<typename t_value>
    String::String(t_value value) {
       std::ostringstream oss;
       oss << value;
      _str = oss.str();
    }
private:
    std::string _str;
}
Run Code Online (Sandbox Code Playgroud)

这适用于具有<<运算符定义的任何类型.任何没有流操作符的类都会出现问题.编译器错误会很好,但我得到的是无限递归,因为C++试图使用我的全局<<运算符来尝试转换为我的String类型.

我的主要目标是像这样编码

class Foo {
    int _memberWithUnderscoreInName;
}

String s = Foo();
Run Code Online (Sandbox Code Playgroud)

并在构造函数中获得编译器错误而不是无限循环.

有一个简单的解决方案吗?

c++ string type-conversion implicit-conversion

4
推荐指数
1
解决办法
2857
查看次数

QtCreator在构建Windows应用程序时如何避免控制台窗口?

我试图使用不显示控制台窗口的CMake,Qt和Visual Studio构建可执行文件.

我发现这篇文章和这个答案

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /ENTRY:mainCRTStartup")
Run Code Online (Sandbox Code Playgroud)

但是我想知道QtCreator如何能够构建一个没有这个/ ENTRY标志的可执行文件而不显示控制台窗口?

c++ qt cmake visual-studio windows-console

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

为什么结构必须与模板类位于同一名称空间中才能编译?

问题的标题并没有透露太多关于我的问题,但我试图用一个短语来解释这个问题.这是问题,我在Windows中使用MinGW和Linux中使用GCC编译的应用程序中有类似的代码结构.Visual Studio不会出现任何问题.结构如下:

#include <iostream>

namespace idb
{
    class Wrapper
    {
    public:
        template<typename S>
        void boo(S& s)
        {
            bind(s);
        }
    };
}

namespace idb // <- if this namespace changes, code explodes
{
    struct Fulalas
    {
        int x;
    };
}

namespace idb
{
    void bind(idb::Fulalas f)
    {
        std::cout << f.x << std::endl;
    }
}

namespace app
{
    class Foo
    {
    public:
        void func()
        {
            idb::Fulalas f;
            f.x = 5;
            w.boo(f);
        }

    private:
        idb::Wrapper w;
    };
}

int main()
{
    app::Foo f; …
Run Code Online (Sandbox Code Playgroud)

c++ gcc templates mingw

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