我疯了...我正在尝试将我的项目的升级从1.44.0升级到osx雪豹上的1.47.0 .-我想用以下命令构建它:
./b2 macosx-version=10.6 link=static address-model=32_64 threading=multi stage
Run Code Online (Sandbox Code Playgroud)
我希望它能给我一个支持i386以及x86_64的静态胖版本.无论如何,它显然没有,因为如果我查询lipo -info生成的库,它们都是x86_64.-我该怎么做才能解决这个问题?可能是构建脚本坏了吗?
我目前正在开发一个C++项目,我有一个稍后实现的抽象接口.该接口还有一个实现的方法,我的实现不会覆盖.我的问题是,在使用我的实现时,编译器(MSVC)没有看到接口方法.是什么导致这种情况,我该如何解决?
这是代码.
#include <string>
#include <vector>
using std::string;
class A
{
public:
string name;
};
class interface
{
public:
virtual int num_foo() = 0;
virtual A* foo(int) = 0;
virtual A* foo(string &name){
for ( int i(0); i < num_foo(); i++)
if ( foo(i)->name == name )
return foo(i);
return 0;
}
};
class implementation : public interface
{
public:
virtual int num_foo() { return m_foos.size(); }
virtual A* foo(int i) {
//check range
return &m_foos[i];
}
std::vector<A> m_foos;
}; …Run Code Online (Sandbox Code Playgroud)