两个使用相同名称类型的不同库

时间:2018-07-10 00:59:09

标签: c++ conflicting-libraries

我正在使用两个不同的c ++库。这两个库都使用一个名称作为类型,即fofo。 在lib1.h中:

abcd

在lib2.h中:

typedef short fofo;

我有一个使用两个库的C ++项目/ VS 2008: 当我在我的项目中做

namespace LIB2
{

    typedef struct
    {
        uint16_t toto;    
    } fofo;
}
using LIB2::fofo;

我收到错误:错误C2874:using-declaration导致多个声明

我想在我的项目中同时使用两个库,但不对这些库进行任何更改。我唯一可以修改的是我的VS2008项目。感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

这个(肮脏的)解决方法可能会起作用(取决于标题的使用方式)

而不是直接包含lib1.h,而是通过制作一个新的头文件将其包装

lib1wrapped.h

import Ionicions from "react-native-vector-icons/Ionicons";


screen: createBottomTabNavigator(
        {
          HomeScreen: {
            screen: HomeStack,
            navigationOptions: {
              tabBarLabel: props => <Label name="Home" {...props} />,
              tabBarIcon: props => (
                <Icon name="ios-home-outline" fillname="ios-home" {...props} />
              )
            }
          }
       })