小编Bla*_*pel的帖子

如何在CMake文件中添加链接器或编译标志?

我正在使用arm-linux-androideabi-g++编译器.当我尝试编译一个简单的"你好,世界!" 程序编译好.当我通过在该代码中添加一个简单的异常处理来测试它时它也可以工作(添加之后-fexceptions..我猜它默认是禁用的).

这适用于Android设备,我只想使用CMake,而不是ndk-build.

例如 - first.cpp

#include <iostream>

using namespace std;

int main()
{
   try
   {
   }
   catch (...)
   {
   }
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

./arm-linux-androideadi-g++ -o first-test first.cpp -fexceptions

它没有问题......

问题 ...我试图用CMake文件编译文件.

我想添加-fexceptions标志.我试过了

set (CMAKE_EXE_LINKER_FLAGS -fexceptions ) or set (CMAKE_EXE_LINKER_FLAGS "fexceptions" )
Run Code Online (Sandbox Code Playgroud)

set ( CMAKE_C_FLAGS "fexceptions")
Run Code Online (Sandbox Code Playgroud)

它仍然显示错误.

c++ cmake

196
推荐指数
4
解决办法
44万
查看次数

如何在XAML中格式化TimeSpan

我正在尝试格式化绑定到TimeSpan属性的文本块.如果属性是类型DateTime但它失败,如果它是a,它可以工作TimeSpan.我可以使用转换器完成它.但我试图找出是否有其他选择.

示例代码:

public TimeSpan MyTime { get; set; }

public Window2()
{
    InitializeComponent();
    MyTime = DateTime.Now.TimeOfDay;
    DataContext = this;
}
Run Code Online (Sandbox Code Playgroud)

XAML

<TextBlock Text="{Binding MyTime,StringFormat=HH:mm}"/>
Run Code Online (Sandbox Code Playgroud)

我希望文本块只显示小时和分钟.但它显示为:

19:10:46.8048860

c# data-binding wpf xaml string-formatting

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

如何在WPF中获取当前屏幕的大小?

我知道我可以通过使用来获得主屏幕的大小

System.Windows.SystemParameters.PrimaryScreenWidth;
System.Windows.SystemParameters.PrimaryScreenHeight;
Run Code Online (Sandbox Code Playgroud)

但是如何获得当前屏幕的大小?(多屏用户并不总是使用主屏幕,并非所有屏幕都使用相同的分辨率,对吧?)

能够从XAML访问大小会很好,但是从代码(C#)这样做就足够了.

c# size wpf xaml screen

79
推荐指数
8
解决办法
10万
查看次数

QT - 未知调试器类型"无引擎"

最近我在我的PC上重新安装了QT(5.5.1 MSVC 2013,32 bit,rev.b52c2f91f5)并安装了微软调试工具.

QT(QT Creator)可以自动检测这些就好了.

自动侦测

尝试使用默认快捷方式启动调试器F5或手动单击它时,会抛出无法运行调试器的错误.(编译工作正常,调试完全没有)

调试器无法启动

不能创建"无引擎"类型的调试器引擎.


(运行安装了VS2013/VS2015的Windows 8.1 - QT使用VS2013 32和64位).

在我的工作PC上,几周前我做了同样的过程,并没有任何问题.

什么可能导致这个问题?然而,我只发现了与其他编译器相关的问题.

c++ debugging qt c++11 visual-studio-2013

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

绑定上的StringFormat

视图:

<TextBlock Text="{Binding Date}"/>
Run Code Online (Sandbox Code Playgroud)

我希望将日期格式化为"dd/MM/yyyy",换句话说,没有时间.

我试过了:<TextBlock Text="{Binding Date, StringFormat={}{0:dd/MM/yyyy}}"/>但它不起作用.

给我一个错误:在'Binding'类型中找不到属性'StringFormat'.

c# xaml string-formatting date-formatting uwp

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

如何通过PostMessage发送字符串?

在我的应用程序中,我想从另一个线程向对话框发送消息.我想将std :: exception派生类引用传递给对话框.

像这样的东西:

try {
       //do stuff
}
catch (MyException& the_exception) {
    PostMessage(MyhWnd, CWM_SOME_ERROR, 0, 0); //send the_exception or the_exception.error_string() here
}
Run Code Online (Sandbox Code Playgroud)

我想在对话框中收到消息并显示错误 the_exception.error_string()

LPARAM CMyDlg::SomeError(WPARAM, LPARAM)
{
    show_error( ?????
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

std::string the_exception.error_string()我猜,传递使用PostMessage也没关系.

c++ mfc multithreading postmessage cdialog

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

向CMenu项添加工具提示

不久前,我尝试在CMenu项目上添加工具提示以进行测试.现在我需要它,我再次遇到同样的问题.

这个问题和答案: MFC:如何在Cmenu项目中添加工具提示?
对我来说根本没有帮助,因为这种"换行魔术"根本就不起作用.

此外,似乎我不是唯一一个有问题的人: 没有显示MFC CMenu工具提示

void CTextListCtrl::CreateMenu(void)
{
    m_Menu.CreateMenu();
    CMenu submenu;
    submenu.CreatePopupMenu();
    submenu.AppendMenuW(MF_STRING, IDC_RESEND_POPUP, L"&Resend\nShow me the tooltip");
    //Other menu items...
    m_Menu.AppendMenuW(MF_POPUP, reinterpret_cast<UINT_PTR>(submenu.m_hMenu), L"");
    submenu.Detach();
}
Run Code Online (Sandbox Code Playgroud)

结果是这样的:

在此输入图像描述

但是,增加文本字母会产生更大的弹出菜单,而不是菜单工具提示.

我已经看到了这个答案中的其他链接,并检查了它们和项目.但这些不是我想要的.

有人知道我做错了什么,或者有其他解决方案/来源可能有用吗?


编辑:正如我之前在评论中提到的,这里是一个示例解决方案,具有重现问题的最低要求.(参见CMenuListCtrl.cpp(100))
使用VS2010和VS2015测试(结果相同).

c++ mfc tooltip visual-c++ cmenu

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

BigInteger到十六进制

快速问题......

我有一个愚蠢的长BigInteger,我想写一个文件作为十六进制字符串.

我知道Java提供了.toString(16)这样做的方法,但我找不到C#中的等价物.

我正在使用System.Numerics.BigInteger.NET 4.0.

谢谢

c# hex biginteger

11
推荐指数
2
解决办法
4750
查看次数

如何从 safari 中仅隐藏画中画 (PiP) 控件

我只需要从 safari 浏览器中隐藏一个视频控件,即画中画 (PiP)。有什么解决办法吗?

我们可以使用 HTML5 隐藏它吗?

html javascript css safari macos

6
推荐指数
2
解决办法
8147
查看次数

获取WPF绑定的值

好吧,我不想在我的MVVM ViewModels中使用一堆ICommands,所以我决定为WPF创建一个MarkupExtension,它为它提供一个字符串(方法的名称),它会返回一个执行该方法的ICommand.

这是一个片段:

public class MethodCall : MarkupExtension
{
    public MethodCall(string methodName)
    {
        MethodName = methodName;
        CanExecute = "Can" + methodName;
    }

    public override object ProvideValue(IServiceProvider serviceProvider)
    {
        Binding bin = new Binding { Converter = new MethodConverter(MethodName, CanExecute) };

        return bin.ProvideValue(serviceProvider);
    }
}

public class MethodConverter : IValueConverter
{
    string MethodName;
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        //Convert to ICommand
        ICommand cmd = ConvertToICommand();
        if (cmd == null)
            Debug.WriteLine(string.Format("Could not bind to method 'MyMethod' …
Run Code Online (Sandbox Code Playgroud)

c# data-binding wpf mvvm markup-extensions

5
推荐指数
1
解决办法
6313
查看次数