小编mis*_*ink的帖子

如何通过命令行在Makefile中取消定义变量

我想通过传递命令来从Makefile中取消定义变量.这可能吗?男人做的并没有那么大帮助.

我想做的事情如下:

我想用FreeBSD编译一个端口.此端口标记为broken.虽然我没有更改Makefile的权限,但我正在寻找取消定义的可能性broken?变量.

编辑:在Makefile中:

BROKEN=                 does not link
Run Code Online (Sandbox Code Playgroud)

而且我想取消/取消定义.因为Makefile没有进一步执行.到目前为止,这与编译器标志无关.

command-line makefile

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

使用jsoncpp解析JSON字符串

我正在尝试解析用PHP编码的JSON字符串,并通过TCP发送到C++客户端.

我的JSON字符串是这样的:

{"1":{"name":"MIKE","surname":"TAYLOR"},"2":{"name":"TOM","surname":"JERRY"}}
Run Code Online (Sandbox Code Playgroud)

在C++客户端上,我使用的是jsoncpp库:

void decode()
{
    string text =     {"1":{"name":"MIKE","surname":"TAYLOR"},"2":{"name":"TOM","surname":"JERRY"}};
    Json::Value root;
    Json::Reader reader;
    bool parsingSuccessful = reader.parse( text, root );
    if ( !parsingSuccessful )
    {
        cout << "Error parsing the string" << endl;
    }
    const Json::Value mynames = root["name"];
    for ( int index = 0; index < mynames.size(); ++index )  
    {
        cout << mynames[index] << endl;
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是我没有得到任何输出,甚至没有关于解析的错误(如果有的话).你能帮我理解我做错了什么吗?

c++ json jsoncpp

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

std :: vector :: operator []不测试类型

我有这样的结构:

struct VrtxPros{
    long idx;
    std::vector<std::string> pros;
    VrtxPros(const long& _idx=-1, const std::string& val="") : idx(_idx)
    {
         if ( !val.empty() && val!="" )
             pros.push_back(val);
    }
};
Run Code Online (Sandbox Code Playgroud)

然后在代码中我使用它:

long idx = 1234;
VrtxPros vp( 2134, std::string("-1") );
if ( margin ) vp.pros[0] = idx;
Run Code Online (Sandbox Code Playgroud)

编译器没有问题.我很想知道因为运营商应该提供参考.我无法找到一个operator=std::string这将接受长达来源.

为什么代码编译?

c++ vector type-conversion

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

标签 统计

c++ ×2

command-line ×1

json ×1

jsoncpp ×1

makefile ×1

type-conversion ×1

vector ×1