zoukankan      html  css  js  c++  java
  • c++: address argument to atomic operation must be a pointer to _Atomic type

     在引用boost/signals2.hpp的过程中出现了这个问题。
     这个问题和编译器相关,在Android.bp和Android.mk中同时调用同一个编译文件竟会出现两个不同的结果,十分费解。
     在C++11中不支持boost库类似_c11_atomic_init( &use_count, 1 )等类似的动作。
     如何解决?

    LOCAL_CFLAGS += 
        -std=c++14 
        $(empty)
    

     尝试解决。

     再者可能是本地调用的其他一些.hpp文件中使用了违规使用了boost库中的一些内容,可以做这样的尝试:

    1. 将编译报错的文件仅留#include <boost/signals2.hpp>
    2. 写一个最基础的main函数。
    3. 将此文件通过Android.mk参与编译,看是否编译通过。(一般一定能通过),基本上可以确定是自己文件改出来的问题。,之后保持main函数不动,依次注销引用的头文件,即可找出出问题的地方。
  • 相关阅读:
    解释器模式
    命令模式
    责任链模式
    代理模式
    享元模式
    外观模式
    装饰器模式
    组合模式
    过滤器模式
    js广告浮动
  • 原文地址:https://www.cnblogs.com/hansenn/p/13213580.html
Copyright © 2011-2022 走看看