小编man*_*eak的帖子

如何用语言支持等来修复GCC的"轻量级"构建?

基本上我想只用C/C++支持轻量级构建GCC.这可以轻松完成,还是需要手动修补源?

c++ gcc build

22
推荐指数
2
解决办法
9461
查看次数

没有别的东西,"AndroidRuntime:关闭VM"

出于某种原因,LogCat不会在崩溃时报告任何堆栈跟踪.相反,我只获得以下信息:

D/AndroidRuntime: Shutting down VM
W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x40dd3960)
Run Code Online (Sandbox Code Playgroud)

这真的很奇怪,因为我已经在同一个项目上工作了三个月,而且最近(两天,三天前)堆栈跟踪停止显示.什么可能导致这个?如何让它再次显示堆栈跟踪?

android logcat android-studio

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

用于Android的VS模拟器停止响应键盘

我已经使用Android的新VS模拟器几天了,虽然它的工作非常出色,但随机停止接收键盘事件.当我按下CTRL + Space时它会改变键盘语言,但是当我尝试输入文本时它不会收到任何字符.

到目前为止,我发现的唯一解决方案是在物理键盘重新开始工作之前多次在虚拟键盘和物理键盘之间切换.

这只是模拟器中的一个错误,还是我做了一些导致物理键盘无法正常工作的东西?我没有在模拟器中看到输入的任何设置.

keyboard android visual-studio android-emulator

19
推荐指数
2
解决办法
2659
查看次数

如何避免堆积回调或"回调地狱"?

我的程序大量使用(可能)异步调用,其中返回值不是立即可用的,因此有很多方法,如下所示:

// A simple callback interface
public interface GetFooCallback
{
    void onResult(Foo foo);
};

// A method that magically retrieves a foo
public void getFoo(long fooID, GetFooCallback callback)
{
    // Retrieve "somehow": local cache, from server etc.
    // Not necessarily this simple.
    Foo foo = ...; 

    callback.onResult(foo);
}
Run Code Online (Sandbox Code Playgroud)

然而,由于有许多事情依赖于这样的最后一次调用,他们开始堆积起来:

// Get foo number 42
fooHandler.getFoo(42, new GetFooCallback()
{
    @Override
    public void onResult(final Foo foo)
    {
        // Foo 42 retrieved, get a related Bar object
        barHandler.getBar(foo.getBarID(), new GetBarCallback()
        {
            @Override
            public …
Run Code Online (Sandbox Code Playgroud)

java

19
推荐指数
2
解决办法
2582
查看次数

找不到com.google.android.gms:play-services:7.0.0

我正在尝试更新使用GMS库的旧项目.但是,Gradle同步无法刷新项目,从而给出标题中提到的错误.

这就是build.gradle的样子:

project(":android") {
    apply plugin: "android"
    apply plugin: 'com.android.application'

    configurations { natives }

    dependencies {
        compile project(":core")
        compile "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion"
        natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi"
        natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a"
        natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86"
        compile "com.google.android.gms:play-services:7.0.0"
    }
}
Run Code Online (Sandbox Code Playgroud)

错误是:

Error:Could not find com.google.android.gms:play-services:7.0.0.
Searched in the following locations:
    file:/C:/Users/Harri/.m2/repository/com/google/android/gms/play-services/7.0.0/play-services-7.0.0.pom
    file:/C:/Users/Harri/.m2/repository/com/google/android/gms/play-services/7.0.0/play-services-7.0.0.jar
    https://repo1.maven.org/maven2/com/google/android/gms/play-services/7.0.0/play-services-7.0.0.pom
    https://repo1.maven.org/maven2/com/google/android/gms/play-services/7.0.0/play-services-7.0.0.jar
    https://oss.sonatype.org/content/repositories/snapshots/com/google/android/gms/play-services/7.0.0/play-services-7.0.0.pom
    https://oss.sonatype.org/content/repositories/snapshots/com/google/android/gms/play-services/7.0.0/play-services-7.0.0.jar
    https://oss.sonatype.org/content/repositories/releases/com/google/android/gms/play-services/7.0.0/play-services-7.0.0.pom
    https://oss.sonatype.org/content/repositories/releases/com/google/android/gms/play-services/7.0.0/play-services-7.0.0.jar
Required by:
CarGame-refresh:android:1.2
Run Code Online (Sandbox Code Playgroud)

我已经在SDK管理器中安装并更新了所有必需的东西:

在此输入图像描述

应该注意的是,这个项目最初是一个Eclipse项目,我刚刚导入Android Studio.

编辑:似乎Gradle看起来不是GMS的正确目录.但它安装在SDK路径中.看来这里的问题与这个未解决的问题非常相似.

android gradle google-play-services android-studio

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

我可以将Picasso的照片加载到操作栏吗?

我一直在广泛使用毕加索通过互联网检索图像到我的应用程序.现在,我遇到了一种情况,我需要将一个小图像检索到操作栏(就像标题文本旁边的徽标一样).

毕加索可以做到这一点吗?如果是这样,我该怎么做?

android picasso

12
推荐指数
1
解决办法
2347
查看次数

错误C2280:尝试引用已删除的函数(unique_ptr)

我查看了一些使用原始指针的旧代码,并将其更改为unique_ptrs代替.现在,当我尝试编译代码时,我收到以下错误消息:

错误1错误C2280:'std :: unique_ptr> :: unique_ptr(const std :: unique_ptr <_Ty,std :: default_delete <_Ty >>&)':尝试引用已删除的函数d:\ visual studio 2013\vc \包括\ xmemory0

关于这种情况的编译器输出是巨大的 - 为了节省这个问题的空间,请在此处查看.

据我所知,它与我使用唯一指针的方式有关.它从这里开始(level.h,第65-66行):

typedef std::unique_ptr<Enemy> PEnemy;
std::list<PEnemy> m_enemies;
Run Code Online (Sandbox Code Playgroud)

现在,我在编译器输出中得到的下一个线索是basesource.cpp中的第47行:

std::list<PEnemy> enemies = Game::LEVEL->getEnemies();
Run Code Online (Sandbox Code Playgroud)

为什么这会导致问题?我该如何修复错误?

c++ c++11

9
推荐指数
1
解决办法
1万
查看次数

填充std :: map时,"C2593:operator = is ambiguous"

我有一个std::map我正在尝试初始化初始化列表.我在两个地方以两种不同的方式做到这一点.第一个工作,而另一个工作导致标题中提到的错误.

这是有效的:

void foo() {
    static std::map<std::string, std::string> fooMap =
    {
        { "First", "ABC" },
        { "Second", "DEF" }
    };
}
Run Code Online (Sandbox Code Playgroud)

虽然这个没有:

class Bar {
    public:
        Bar();
    private:
        std::map<std::string, std::string> barMap;
};

Bar::Bar() {
    barMap = { // <-- this is the error line
        { "First", "ABC" },
        { "Second", "DEF" }
    };
}
Run Code Online (Sandbox Code Playgroud)

为什么在尝试初始化类成员时会出现错误,而静态映射有效?目前,我可以通过首先创建一个局部变量然后将其与成员交换来填充成员,如下所示:

Bar::Bar() {
    std::map<std::string, std::string> tmpMap = {
        { "First", "ABC" },
        { "Second", "DEF" }
    };

    barMap.swap(tmpMap);
}
Run Code Online (Sandbox Code Playgroud)

然而,与直接填充成员相比,这感觉相当反直觉.


编辑:这是编译器输出.

c++ c++11

7
推荐指数
1
解决办法
1353
查看次数

可以基于type_info创建对象吗?

几乎所有标题:可以基于创建对象type_info吗?这样做的目的是推迟创建对象.例如,这是原始的"未延期"代码:

Foo* a = new Foo();
Bar* b = new Bar();
Run Code Online (Sandbox Code Playgroud)

这是推迟的:

// Store type indices into a vector
std::vector<std::type_index> types;
types.push_back(std::type_index(typeid(Foo)));
types.push_back(std::type_index(typeid(Bar)));

// Iterate through vector, create objects? Is it possible?
Run Code Online (Sandbox Code Playgroud)

如果这是不可能的,还有其他方法来"推迟"对象的构造吗?

c++

7
推荐指数
1
解决办法
3744
查看次数

在Django REST中压缩响应有效负载?

我想知道:是否可以在Django REST中压缩响应有效负载?

目前,响应有效负载是普通的JSON数据.但是,有相当多的数据来回反弹,所以我想知道压缩数据是否有助于解决带宽问题.

django django-rest-framework

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