小编Jes*_*der的帖子

如何在Linux中为GCC添加默认包含路径?

我希望gcc $HOME/include除了通常的include目录之外还包含文件,但似乎没有类似的东西$LD_LIBRARY_PATH.

我知道我可以在编译时(或在makefile中)在命令行添加include目录,但我真的很喜欢这里的通用方法,就像在库中一样.

linux gcc environment-variables include

277
推荐指数
4
解决办法
46万
查看次数

如何通过双击在OS X中运行shell脚本?

我有一个在OS X上具有用户执行权限的shell脚本,但是当我双击它时,它会在文本编辑器中打开.如何通过双击来运行它?

macos shell scripting desktop

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

在std :: floor之后转换为int可以保证正确的结果吗?

我想要一个floor带语法的函数

int floor(double x);
Run Code Online (Sandbox Code Playgroud)

但是std::floor返回一个double.是

static_cast <int> (std::floor(x));
Run Code Online (Sandbox Code Playgroud)

保证给我正确的整数,还是我有一个一个一个的问题?它似乎有效,但我想肯定地知道.

对于奖励积分,为什么heck确实在第一时间std::floor返回double

c++ math floor

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

GCC问题:使用依赖于模板参数的基类成员

以下代码不使用gcc编译,但使用Visual Studio编译:

template <typename T> class A {
public:
    T foo;
};

template <typename T> class B: public A <T> {
public:
    void bar() { cout << foo << endl; }
};
Run Code Online (Sandbox Code Playgroud)

我收到错误:

test.cpp:在成员函数'void B :: bar()'中:

test.cpp:11:错误:在此范围内未声明'foo'

但它应该是!如果我换bar

void bar() { cout << this->foo << endl; }
Run Code Online (Sandbox Code Playgroud)

然后它确实编译,但我不认为我必须这样做.GCC在这里遵循C++官方规范中的某些内容,还是仅仅是一个怪癖?

c++ templates base-class class-members name-lookup

34
推荐指数
4
解决办法
7135
查看次数

如果它存在,如何调用模板化函数,否则调用其他东西?

我想做点什么

template <typename T>
void foo(const T& t) {
   IF bar(t) would compile
      bar(t);
   ELSE
      baz(t);
}
Run Code Online (Sandbox Code Playgroud)

我认为使用的东西enable_if可以在这里完成工作,foo分成两部分,但我似乎无法弄清楚细节.实现这一目标的最简单方法是什么?

c++ templates sfinae

34
推荐指数
2
解决办法
4641
查看次数

检查iPhone应用程序是否第一次运行的最佳方法

我想检查我的iPhone应用程序是否第一次运行.我可以在documents文件夹中创建一个文件并检查该文件以查看这是否是第一次运行应用程序,但我想知道是否有更好的方法来执行此操作.

iphone iphone-sdk-3.0

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

部分模板特化的"无效使用不完整类型"错误

以下代码:

template <typename S, typename T>
struct foo {
   void bar();
};

template <typename T>
void foo <int, T>::bar() {
}
Run Code Online (Sandbox Code Playgroud)

给了我错误

invalid use of incomplete type 'struct foo<int, T>'
declaration of 'struct foo<int, T>'
Run Code Online (Sandbox Code Playgroud)

(我正在使用gcc.)我的部分特化的语法错了吗?请注意,如果我删除第二个参数:

template <typename S>
struct foo {
   void bar();
};

template <>
void foo <int>::bar() {
}
Run Code Online (Sandbox Code Playgroud)

然后它正确编译.

c++ gcc templates partial-specialization

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

ipad和iphone safari上div的单/子像素不对齐

我有以下情况,我需要一些帮助......

  1. 两个div,相同的大小,相同的位置,一个在另一个之上
  2. 一切都在桌面浏览器上按预期工作
  3. 在iphone/ipad上,div的边框周围会出现一条微弱的线条
  4. 这条微弱的线并不总是在所有四个边界上.它会根据div的位置而改变.由于两个div没有正确排列,它看起来正在发生,但根据它们的风格设置,它们具有相同的大小和位置.

你可以在这里看到结果:http://www.thoughtartistry.com

有任何想法吗?

css iphone mobile-safari ipad ios

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

如何设置CMake为iPhone构建应用程序

这与我之前的问题密切相关,该问题是关于使用CMake在iPhone上构建静态库.我得到了工作设置CMAKE_OSX_SYSROOT.

但是,这不适用于构建应用程序.我CMakeLists.txt看起来像:

project(TEST)

set(CMAKE_OSX_SYSROOT iphoneos2.2.1)
set(CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD_32_BIT)")
set(CMAKE_EXE_LINKER_FLAGS
"-framework Foundation -framework OpenGLES -framework AudioToolbox -framework CoreGraphics -framework QuartzCore -framework UIKit -framework OpenAL"
)

set(SRC --my files--)

add_executable(iphone-test MACOSX_BUNDLE ${SRC})
Run Code Online (Sandbox Code Playgroud)

几点说明:

  • 我明确给出了-framework链接选项,因为它find_library不适用于所有框架(它找到了大部分框架,但没有找到OpenGLES).我不明白为什么,因为他们都在同一个文件夹中${SDK}/System/Library/Frameworks.这让我相信我做错了什么,但我不知道是什么.
  • 我添加MACOSX_BUNDLEadd_executable命令中,以便生成的产品类型com.apple.product-type.application代替com.apple.product-type.tool,而iPhone上显然不存在.

在任何情况下,应用程序编译和链接正确,但当我在模拟器中运行它时,我得到了可怕的

Failed to launch simulated application: Unknown error.
Run Code Online (Sandbox Code Playgroud)

google和stackoverflow上有很多报告此问题的实例,但所有解决方案都涉及清理或创建新项目和移动文件; 但是我在CMake完成它的工作后正在编译一份新的副本,所以这些都不适用.

我在CMake邮件列表上找到了这个帖子,但它只报告了构建库的成功,然后逐渐消失.

iphone xcode cmake

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

如何使用参数/修改std :: foreach

我发现自己在写作

for(int i=0;i<myvec.size();i++)
   myvec[i]->DoWhatever(param);
Run Code Online (Sandbox Code Playgroud)

很多,我想把它压缩成一个foreach声明,但我不知道如何进入param那里而不会超级冗长.我也有类似的东西

for(int i=0;i<myvec.size();i++)
   if(myvec[i]->IsOK())
      myvec[i]->DoWhatever(param);
Run Code Online (Sandbox Code Playgroud)

我也想改写那个人.有什么想法吗?

哦,还有,由于各种原因,我不想使用提升.

c++ loops enumeration stl

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