小编ami*_*min的帖子

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

在Linux上使用Cmake进行提升(ubuntu)

这是我的CMakeLists.txt档案:

add_definitions(-std=c++11)
find_package(Boost 1.55.0 COMPONENTS filesystem REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
add_executable(bst main.cpp)
target_link_libraries(bst ${Boost_LIBRARIES})
Run Code Online (Sandbox Code Playgroud)

当我cmake ..在我的build目录中执行时,cmake成功生成文件.

但是,当我makebuild目录中运行时,我得到以下错误:

amin@aminux:~/Documents/boost_test/build$ make
Scanning dependencies of target bst
[100%] Building CXX object CMakeFiles/bst.dir/main.cpp.o
Linking CXX executable bst
/usr/bin/ld: CMakeFiles/bst.dir/main.cpp.o: undefined reference to    symbol '_ZN5boost6system15system_categoryEv'
//usr/lib/x86_64-linux-gnu/libboost_system.so.1.55.0: error   adding       symbols: DSO missing from command line
 collect2: error: ld returned 1 exit status
make[2]: *** [bst] Error 1
make[1]: *** [CMakeFiles/bst.dir/all] Error 2
make: *** [all] Error …
Run Code Online (Sandbox Code Playgroud)

linker boost cmake

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

如何访问Knockout组件中的自定义元素?

看看这个场景:

ko.components.register('hello', {
     viewModel: function() { },
     template: "<h1>hello wrold</h1>"
});
Run Code Online (Sandbox Code Playgroud)

如果我使用<hello></hello>生成的html结果将是:

<hello><h1>hello world</h1></hello>
Run Code Online (Sandbox Code Playgroud)

但是如果我想要这个怎么办:

<hello class="hello"><h1>hello world</h1></hello>
Run Code Online (Sandbox Code Playgroud)

那么如何在组件中获得对自定义元素标记的引用?

javascript knockout.js knockout-components

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

在C++中用ndk + opengl学习开发游戏的资源?

我想学习使用NDK + OpenGL开发游戏.是否有可能只用C++编写一个Android游戏.

我能够在NDK示例文件夹中运行本机活动示例.(用C语言编写).

我可以借助在线NDK文档在Android.mk和Application.mk(stl,例外,...)中设置C++支持.

native-activity示例没有任何Java代码.我可以假设可以编写没有Java的游戏(仅限c ++).

有什么资源?你推荐哪些链接和教程?我应该学习那些jni东西吗?

c++ android opengl-es android-ndk

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

如何在VIM中编写条件映射?

我想要做的nnoremap Q :q!<cr>nnnoremap Q :bd<CR>,我怎么可以混合这两种绑定?
我理想的是要使Q绑定足够聪明,以便知道我们何时处于缓冲区中,以及何时这是窗口中的最后一个缓冲区.

vim key-bindings

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

如何将 4 元素 &amp;[u8] 转换为 i32?

我有一个i32传递到我的键值数据库的。

let a = 1234i32;
db.put(&a.to_be_bytes());
Run Code Online (Sandbox Code Playgroud)

但我把它恢复为&[u8],如何将其转换回i32


更新:这个例子几乎满足了我的要求。

use std::convert::TryInto;

fn read_be_i32(input: &[u8]) -> i32 {
    i32::from_be_bytes(input.try_into().unwrap())
}
Run Code Online (Sandbox Code Playgroud)

unsafe rust

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

vim你完成了关于c ++ 11语法的错误

我安装You Complete Me使用Vundle,然后跑了

cd ~/.vim/bundle/YouCompleteMe
./install.sh --clang-completer
Run Code Online (Sandbox Code Playgroud)

并补充说

let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleMe/cpp/ycm/.ycm_extra_conf.py'
Run Code Online (Sandbox Code Playgroud)

到我的vimrc档案.

现在当我编写C++11代码时,ycm给我语法错误!我究竟做错了什么?

c++ vim clang vim-plugin c++11

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

没有内联函数的没有.cpp文件的c ++类?

我已经问了一个类似的问题,但这个问题有点不同

我不想为每个简单的c ++类编写.cpp文件.

当我在单个.hpp文件中编写类定义和声明时,链接器会抱怨成员函数的多个定义,这些函数没有在类的主体内部实现或者使用内联键盘定义.

例如,这将起作用,但成员函数将变为内联:

// log.hpp file
#pragma once
#include<iostream>

class log {
  private:
    static int m_cnt = 0;
  public:
    void log();
};

inline void log::log() {
    std::cout << ++m_cnt << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

所以我使用模板来摆脱链接器投诉,并希望成员函数不会内联(是吗?):

// log.hpp file
#pragma once
#include<iostream>

template<typename T>
class log_t {
  private:
    static int m_cnt = 0;
  public:
    void log();
};

template<typename T>
void log_t<T>::log() {
    std::cout << ++m_cnt << std::endl;
}

// some random type (int)
typedef log_t<int> log;
Run Code Online (Sandbox Code Playgroud)

然后我可以简单地在多个.cpp文件中使用日志类而不需要链接器投诉.

即使我使用这种方法会将成员函数变成内联吗?

c++ linker templates c++11

3
推荐指数
2
解决办法
269
查看次数

如何在 Rust 中“使用另一个文件”?带有连字符的模块

another_file在 Rust 中使用下划线作为单词分隔符工作正常。

我如何改用连字符 ( another-file.rs)?

// another-file.rs
pub fn method() { }
Run Code Online (Sandbox Code Playgroud)
// lib.rs
use another_file;        // <-- ERROR can not find another_file.rs
another_file::method();
Run Code Online (Sandbox Code Playgroud)

rust

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

没有.cpp文件的C++类?

我不想.cpp为每个简单的c ++类编写文件.

当我在单个.hpp文件中编写类定义和声明时,链接器会抱怨成员函数的多个定义,这些定义并未在类的主体内实现.

所以我使用模板来摆脱链接器投诉:

// log.hpp file
template<typename T>
class log_t {
private:
    int m_cnt = 0;
public:
    void log();
};

template<typename T>
void log_t<T>::log() {
    std::cout << ++m_cnt << std::endl;
}

// some random type (int)
typedef log_t<int> log;
Run Code Online (Sandbox Code Playgroud)

然后我可以简单地log在多个.cpp文件中使用class 而不需要链接器投诉.

这种方法有什么根本性的错误吗?

编辑:即使我使用此方法会将成员函数变为内联吗?

c++ templates class header-files

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